Skip to main content

ghl_models/v2/
social_media_posting.rs

1//! `social-media-posting` data models for GoHighLevel API V2 (107 types).
2//!
3//! Generated from HighLevel's official OpenAPI spec for the
4//! **Social Media Posting** module. Every endpoint that uses these types, with its
5//! parameters, required scopes and enum values, is documented in the
6//! [`social-media-posting` API reference](https://github.com/Shahroz/ghl-rs/blob/main/docs/api/social-media-posting.md).
7//!
8//! Enable with `features = ["social-media-posting"]`.
9// @generated by xtask/generate_models.py — do not edit by hand.
10// Source: https://github.com/GoHighLevel/highlevel-api-docs
11// Doc comments are HighLevel's own field descriptions, reflowed verbatim, so
12// they aren't held to rustdoc's markdown conventions.
13#![allow(
14    missing_docs,
15    clippy::doc_lazy_continuation,
16    clippy::doc_overindented_list_items
17)]
18
19use serde::{Deserialize, Serialize};
20
21/// `AccountsListResponseDTO` from the GoHighLevel OpenAPI spec.
22#[derive(Debug, Clone, Default, Serialize, Deserialize)]
23pub struct AccountsListResponseDTO {
24    /// Success or Failure
25    /// Required by the API.
26    /// (Optional here so responses that omit it still parse.)
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub success: Option<bool>,
29    /// Status Code
30    /// Required by the API.
31    /// (Optional here so responses that omit it still parse.)
32    #[serde(
33        rename = "statusCode",
34        default,
35        skip_serializing_if = "Option::is_none"
36    )]
37    pub status_code: Option<f64>,
38    /// Message
39    /// Required by the API.
40    /// (Optional here so responses that omit it still parse.)
41    #[serde(default, skip_serializing_if = "Option::is_none")]
42    pub message: Option<String>,
43    /// Requested Results
44    #[serde(default, skip_serializing_if = "Option::is_none")]
45    pub results: Option<AccountsListResponseSchema>,
46}
47
48/// `AccountsListResponseSchema` from the GoHighLevel OpenAPI spec.
49#[derive(Debug, Clone, Default, Serialize, Deserialize)]
50pub struct AccountsListResponseSchema {
51    #[serde(default, skip_serializing_if = "Vec::is_empty")]
52    pub accounts: Vec<GetAccountSchema>,
53    #[serde(default, skip_serializing_if = "Vec::is_empty")]
54    pub groups: Vec<GetGroupSchema>,
55}
56
57/// `AttachFBAccountDTO` from the GoHighLevel OpenAPI spec.
58#[derive(Debug, Clone, Default, Serialize, Deserialize)]
59pub struct AttachFBAccountDTO {
60    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
61    pub type_: Option<serde_json::Value>,
62    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
63    pub origin_id: Option<String>,
64    #[serde(default, skip_serializing_if = "Option::is_none")]
65    pub name: Option<String>,
66    #[serde(default, skip_serializing_if = "Option::is_none")]
67    pub avatar: Option<String>,
68    /// Company ID
69    #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
70    pub company_id: Option<String>,
71}
72
73/// `AttachGMBLocationDTO` from the GoHighLevel OpenAPI spec.
74#[derive(Debug, Clone, Default, Serialize, Deserialize)]
75pub struct AttachGMBLocationDTO {
76    #[serde(default, skip_serializing_if = "Option::is_none")]
77    pub location: Option<serde_json::Value>,
78    #[serde(default, skip_serializing_if = "Option::is_none")]
79    pub account: Option<serde_json::Value>,
80    /// Company ID
81    #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
82    pub company_id: Option<String>,
83}
84
85/// `AttachIGAccountDTO` from the GoHighLevel OpenAPI spec.
86#[derive(Debug, Clone, Default, Serialize, Deserialize)]
87pub struct AttachIGAccountDTO {
88    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
89    pub origin_id: Option<String>,
90    #[serde(default, skip_serializing_if = "Option::is_none")]
91    pub name: Option<String>,
92    #[serde(default, skip_serializing_if = "Option::is_none")]
93    pub avatar: Option<String>,
94    /// Required by the API.
95    #[serde(rename = "pageId")]
96    pub page_id: String,
97    /// Company ID
98    #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
99    pub company_id: Option<String>,
100}
101
102/// `AttachLinkedinAccountDTO` from the GoHighLevel OpenAPI spec.
103#[derive(Debug, Clone, Default, Serialize, Deserialize)]
104pub struct AttachLinkedinAccountDTO {
105    /// Allowed values: `page`, `group`, `profile`, `location`, `business`.
106    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
107    pub type_: Option<String>,
108    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
109    pub origin_id: Option<String>,
110    #[serde(default, skip_serializing_if = "Option::is_none")]
111    pub name: Option<String>,
112    #[serde(default, skip_serializing_if = "Option::is_none")]
113    pub avatar: Option<String>,
114    #[serde(default, skip_serializing_if = "Option::is_none")]
115    pub urn: Option<String>,
116    /// Company ID
117    #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
118    pub company_id: Option<String>,
119}
120
121/// `AttachTiktokAccountDTO` from the GoHighLevel OpenAPI spec.
122#[derive(Debug, Clone, Default, Serialize, Deserialize)]
123pub struct AttachTiktokAccountDTO {
124    /// Allowed values: `page`, `group`, `profile`, `location`, `business`.
125    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
126    pub type_: Option<String>,
127    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
128    pub origin_id: Option<String>,
129    #[serde(default, skip_serializing_if = "Option::is_none")]
130    pub name: Option<String>,
131    #[serde(default, skip_serializing_if = "Option::is_none")]
132    pub avatar: Option<String>,
133    #[serde(default, skip_serializing_if = "Option::is_none")]
134    pub verified: Option<bool>,
135    #[serde(default, skip_serializing_if = "Option::is_none")]
136    pub username: Option<String>,
137    /// Company ID
138    #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
139    pub company_id: Option<String>,
140}
141
142/// `AttachTwitterAccountDTO` from the GoHighLevel OpenAPI spec.
143#[derive(Debug, Clone, Default, Serialize, Deserialize)]
144pub struct AttachTwitterAccountDTO {
145    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
146    pub origin_id: Option<String>,
147    #[serde(default, skip_serializing_if = "Option::is_none")]
148    pub name: Option<String>,
149    #[serde(default, skip_serializing_if = "Option::is_none")]
150    pub username: Option<String>,
151    #[serde(default, skip_serializing_if = "Option::is_none")]
152    pub avatar: Option<String>,
153    #[serde(default, skip_serializing_if = "Option::is_none")]
154    pub protected: Option<bool>,
155    #[serde(default, skip_serializing_if = "Option::is_none")]
156    pub verified: Option<bool>,
157    /// Company ID
158    #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
159    pub company_id: Option<String>,
160}
161
162/// `BulkDeletePostSuccessfulResponseSchema` from the GoHighLevel OpenAPI spec.
163#[derive(Debug, Clone, Default, Serialize, Deserialize)]
164pub struct BulkDeletePostSuccessfulResponseSchema {
165    #[serde(
166        rename = "deletedCount",
167        default,
168        skip_serializing_if = "Option::is_none"
169    )]
170    pub deleted_count: Option<f64>,
171}
172
173/// `BulkDeleteResponseDto` from the GoHighLevel OpenAPI spec.
174#[derive(Debug, Clone, Default, Serialize, Deserialize)]
175pub struct BulkDeleteResponseDto {
176    /// Success or Failure
177    /// Required by the API.
178    /// (Optional here so responses that omit it still parse.)
179    #[serde(default, skip_serializing_if = "Option::is_none")]
180    pub success: Option<bool>,
181    /// Status Code
182    /// Required by the API.
183    /// (Optional here so responses that omit it still parse.)
184    #[serde(
185        rename = "statusCode",
186        default,
187        skip_serializing_if = "Option::is_none"
188    )]
189    pub status_code: Option<f64>,
190    /// Message
191    /// Required by the API.
192    /// (Optional here so responses that omit it still parse.)
193    #[serde(default, skip_serializing_if = "Option::is_none")]
194    pub message: Option<String>,
195    /// Message and deleted count
196    /// Required by the API.
197    /// (Optional here so responses that omit it still parse.)
198    #[serde(default, skip_serializing_if = "Option::is_none")]
199    pub results: Option<serde_json::Value>,
200}
201
202/// `CSVDefaultDTO` from the GoHighLevel OpenAPI spec.
203#[derive(Debug, Clone, Default, Serialize, Deserialize)]
204pub struct CSVDefaultDTO {
205    /// User ID
206    #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
207    pub user_id: Option<String>,
208}
209
210/// `CSVImportSchema` from the GoHighLevel OpenAPI spec.
211#[derive(Debug, Clone, Default, Serialize, Deserialize)]
212pub struct CSVImportSchema {
213    /// Csv Id
214    /// Required by the API.
215    /// (Optional here so responses that omit it still parse.)
216    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
217    pub id: Option<String>,
218    /// locationId
219    #[serde(
220        rename = "locationId",
221        default,
222        skip_serializing_if = "Option::is_none"
223    )]
224    pub location_id: Option<String>,
225    /// File Name
226    #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
227    pub file_name: Option<String>,
228    /// Account Ids
229    #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
230    pub account_ids: Vec<String>,
231    /// File path
232    #[serde(default, skip_serializing_if = "Option::is_none")]
233    pub file: Option<String>,
234    /// status must be one of the following values: pending, in_progress, completed, failed,
235    /// in_review, importing, deleted
236    #[serde(default, skip_serializing_if = "Option::is_none")]
237    pub status: Option<String>,
238    /// Posts count
239    #[serde(default, skip_serializing_if = "Option::is_none")]
240    pub count: Option<f64>,
241    /// Created By Id
242    #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
243    pub created_by: Option<String>,
244    /// Trace Id
245    #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
246    pub trace_id: Option<String>,
247    /// Origin Id
248    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
249    pub origin_id: Option<String>,
250    /// Approver Id
251    #[serde(default, skip_serializing_if = "Option::is_none")]
252    pub approver: Option<String>,
253    /// Date Created
254    /// Format: date-time (ISO-8601 string).
255    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
256    pub created_at: Option<String>,
257}
258
259/// `CSVMediaResponseSchema` from the GoHighLevel OpenAPI spec.
260#[derive(Debug, Clone, Default, Serialize, Deserialize)]
261pub struct CSVMediaResponseSchema {
262    /// Media Url
263    #[serde(default, skip_serializing_if = "Option::is_none")]
264    pub url: Option<String>,
265    /// Media Type
266    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
267    pub type_: Option<String>,
268    /// Media Size
269    #[serde(default, skip_serializing_if = "Option::is_none")]
270    pub size: Option<f64>,
271    /// Media Width
272    #[serde(default, skip_serializing_if = "Option::is_none")]
273    pub width: Option<f64>,
274    /// Media Height
275    #[serde(default, skip_serializing_if = "Option::is_none")]
276    pub height: Option<f64>,
277    /// Media Aspect Ratio
278    #[serde(
279        rename = "aspectRatio",
280        default,
281        skip_serializing_if = "Option::is_none"
282    )]
283    pub aspect_ratio: Option<f64>,
284    /// Media Aspect Ratio
285    #[serde(default, skip_serializing_if = "Option::is_none")]
286    pub duration: Option<f64>,
287    /// Media format
288    #[serde(default, skip_serializing_if = "Option::is_none")]
289    pub format: Option<String>,
290    /// Video Codec
291    #[serde(
292        rename = "videoCodecName",
293        default,
294        skip_serializing_if = "Option::is_none"
295    )]
296    pub video_codec_name: Option<String>,
297    /// Video Frame Rate
298    #[serde(rename = "frameRate", default, skip_serializing_if = "Option::is_none")]
299    pub frame_rate: Option<f64>,
300    /// Audio Codec
301    #[serde(
302        rename = "audioCodecName",
303        default,
304        skip_serializing_if = "Option::is_none"
305    )]
306    pub audio_codec_name: Option<String>,
307    /// Audio Channel
308    #[serde(
309        rename = "audioChannels",
310        default,
311        skip_serializing_if = "Option::is_none"
312    )]
313    pub audio_channels: Option<f64>,
314    /// Display Aspect Ratio
315    #[serde(
316        rename = "displayAspectRatio",
317        default,
318        skip_serializing_if = "Option::is_none"
319    )]
320    pub display_aspect_ratio: Option<String>,
321    /// List of frames
322    #[serde(default, skip_serializing_if = "Vec::is_empty")]
323    pub frames: Vec<String>,
324    /// Selected Poster
325    #[serde(
326        rename = "selectedPoster",
327        default,
328        skip_serializing_if = "Option::is_none"
329    )]
330    pub selected_poster: Option<f64>,
331    /// Error
332    #[serde(default, skip_serializing_if = "Option::is_none")]
333    pub error: Option<String>,
334    /// Instagram media error. It can we one of the following errors: imageSize, imageType,
335    /// imageAspectRatio, videoType, videoDuration, videoSize, videoAspectRatio,
336    /// videoWidthHeight, audioCodec, audioCodecChannels, videoCodec, videoFrameRate
337    #[serde(
338        rename = "instagramError",
339        default,
340        skip_serializing_if = "Option::is_none"
341    )]
342    pub instagram_error: Option<String>,
343    /// GMB media error. It can be one of the following errors: imageSize, imageDimension,
344    /// imageType
345    #[serde(rename = "gmbError", default, skip_serializing_if = "Option::is_none")]
346    pub gmb_error: Option<String>,
347    /// Facebook media error. It can be one of the following errors: imageSize, imageType,
348    /// videoDuration, videoSize
349    #[serde(
350        rename = "facebookError",
351        default,
352        skip_serializing_if = "Option::is_none"
353    )]
354    pub facebook_error: Option<String>,
355    /// LinkedIn media error. It can be one of the following errors: imageSize, imageType,
356    /// videoType, videoDuration, videoSize
357    #[serde(
358        rename = "linkedinError",
359        default,
360        skip_serializing_if = "Option::is_none"
361    )]
362    pub linkedin_error: Option<String>,
363    /// Twitter media error. It can be one of the following errors: imageSize, videoType,
364    /// videoDuration, videoSize
365    #[serde(
366        rename = "twitterError",
367        default,
368        skip_serializing_if = "Option::is_none"
369    )]
370    pub twitter_error: Option<String>,
371    /// Tiktok media error. It can be one of the following errors: videoType, videoDuration,
372    /// videoSize, videoWidthHeight, videoCodec, videoFrameRate
373    #[serde(
374        rename = "tiktokError",
375        default,
376        skip_serializing_if = "Option::is_none"
377    )]
378    pub tiktok_error: Option<String>,
379    /// Tikok Business media error. It can be one of the following errors: videoType,
380    /// videoDuration, videoSize, videoWidthHeight, videoCodec, videoFrameRate
381    #[serde(
382        rename = "tiktokBusinessError",
383        default,
384        skip_serializing_if = "Option::is_none"
385    )]
386    pub tiktok_business_error: Option<String>,
387    /// Media error. It can be one of the following values: imageSize, imageWidth
388    #[serde(
389        rename = "invalidError",
390        default,
391        skip_serializing_if = "Option::is_none"
392    )]
393    pub invalid_error: Option<String>,
394}
395
396/// `CSVPostSchema` from the GoHighLevel OpenAPI spec.
397#[derive(Debug, Clone, Default, Serialize, Deserialize)]
398pub struct CSVPostSchema {
399    /// Account Ids
400    #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
401    pub account_ids: Vec<String>,
402    /// OG Tag
403    #[serde(default, skip_serializing_if = "Option::is_none")]
404    pub link: Option<IOgTagsSchema>,
405    /// Post Media List
406    #[serde(default, skip_serializing_if = "Vec::is_empty")]
407    pub medias: Vec<CSVMediaResponseSchema>,
408    #[serde(
409        rename = "scheduleDate",
410        default,
411        skip_serializing_if = "Option::is_none"
412    )]
413    pub schedule_date: Option<String>,
414    #[serde(default, skip_serializing_if = "Option::is_none")]
415    pub summary: Option<String>,
416    #[serde(
417        rename = "followUpComment",
418        default,
419        skip_serializing_if = "Option::is_none"
420    )]
421    pub follow_up_comment: Option<String>,
422    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
423    pub type_: Option<serde_json::Value>,
424    /// Tiktok Post Details
425    #[serde(
426        rename = "tiktokPostDetails",
427        default,
428        skip_serializing_if = "Option::is_none"
429    )]
430    pub tiktok_post_details: Option<TiktokPostSchema>,
431    /// GMB Post Details
432    #[serde(
433        rename = "gmbPostDetails",
434        default,
435        skip_serializing_if = "Option::is_none"
436    )]
437    pub gmb_post_details: Option<GMBPostSchema>,
438    /// Error Description
439    #[serde(
440        rename = "errorMessage",
441        default,
442        skip_serializing_if = "Option::is_none"
443    )]
444    pub error_message: Option<String>,
445}
446
447/// `CSVResponseSchema` from the GoHighLevel OpenAPI spec.
448#[derive(Debug, Clone, Default, Serialize, Deserialize)]
449pub struct CSVResponseSchema {
450    /// CSV Data
451    #[serde(default, skip_serializing_if = "Option::is_none")]
452    pub csv: Option<CsvResponse>,
453}
454
455/// `CategorySchema` from the GoHighLevel OpenAPI spec.
456#[derive(Debug, Clone, Default, Serialize, Deserialize)]
457pub struct CategorySchema {
458    /// Category Name
459    #[serde(default, skip_serializing_if = "Option::is_none")]
460    pub name: Option<String>,
461    /// Color For Category
462    #[serde(
463        rename = "primaryColor",
464        default,
465        skip_serializing_if = "Option::is_none"
466    )]
467    pub primary_color: Option<String>,
468    /// Secondary Color
469    #[serde(
470        rename = "secondaryColor",
471        default,
472        skip_serializing_if = "Option::is_none"
473    )]
474    pub secondary_color: Option<String>,
475    /// Location ID
476    #[serde(
477        rename = "locationId",
478        default,
479        skip_serializing_if = "Option::is_none"
480    )]
481    pub location_id: Option<String>,
482    /// ID
483    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
484    pub id: Option<String>,
485    /// Created By User
486    #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
487    pub created_by: Option<String>,
488    /// Deleted Value
489    /// Required by the API.
490    /// (Optional here so responses that omit it still parse.)
491    #[serde(default, skip_serializing_if = "Option::is_none")]
492    pub deleted: Option<bool>,
493    /// Format: date-time (ISO-8601 string).
494    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
495    pub created_at: Option<String>,
496    /// Format: date-time (ISO-8601 string).
497    #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
498    pub updated_at: Option<String>,
499}
500
501/// `CreatePostDTO` from the GoHighLevel OpenAPI spec.
502#[derive(Debug, Clone, Default, Serialize, Deserialize)]
503pub struct CreatePostDTO {
504    /// Account Ids
505    /// Required by the API.
506    #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
507    pub account_ids: Vec<String>,
508    /// Post Content The limitations of content as per the platforms is provided through the
509    /// reference link in API description. The summary will be trimmed based on the limit
510    #[serde(default, skip_serializing_if = "Option::is_none")]
511    pub summary: Option<String>,
512    /// Post Media Data The limitations of media as per the platforms is provided through the
513    /// reference link in API description
514    #[serde(default, skip_serializing_if = "Vec::is_empty")]
515    pub media: Vec<PostMediaSchema>,
516    /// Status must be one of the following values: null, in_progress, draft, failed, published,
517    /// scheduled, in_review, notification_sent, deleted
518    #[serde(default, skip_serializing_if = "Option::is_none")]
519    pub status: Option<serde_json::Value>,
520    /// Schedule Date
521    #[serde(
522        rename = "scheduleDate",
523        default,
524        skip_serializing_if = "Option::is_none"
525    )]
526    pub schedule_date: Option<String>,
527    /// Created By
528    #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
529    pub created_by: Option<String>,
530    /// Follow Up Comment on platform. It is not allowed on Tiktok and GMB accounts and there is
531    /// a limit of 280 charecters for twitter account
532    #[serde(
533        rename = "followUpComment",
534        default,
535        skip_serializing_if = "Option::is_none"
536    )]
537    pub follow_up_comment: Option<String>,
538    /// Og Tags Meta Data
539    #[serde(
540        rename = "ogTagsDetails",
541        default,
542        skip_serializing_if = "Option::is_none"
543    )]
544    pub og_tags_details: Option<OgTagsSchema>,
545    /// Post Type must be one of the following values: - post, story, reel
546    /// Required by the API.
547    #[serde(rename = "type")]
548    pub type_: serde_json::Value,
549    /// Post Approval Details
550    #[serde(
551        rename = "postApprovalDetails",
552        default,
553        skip_serializing_if = "Option::is_none"
554    )]
555    pub post_approval_details: Option<PostApprovalSchema>,
556    /// if schedule datetime is updated
557    #[serde(
558        rename = "scheduleTimeUpdated",
559        default,
560        skip_serializing_if = "Option::is_none"
561    )]
562    pub schedule_time_updated: Option<bool>,
563    /// Array of Tag Value
564    #[serde(default, skip_serializing_if = "Vec::is_empty")]
565    pub tags: Vec<String>,
566    /// Category Id
567    #[serde(
568        rename = "categoryId",
569        default,
570        skip_serializing_if = "Option::is_none"
571    )]
572    pub category_id: Option<String>,
573    /// Tiktok Post Details
574    #[serde(
575        rename = "tiktokPostDetails",
576        default,
577        skip_serializing_if = "Option::is_none"
578    )]
579    pub tiktok_post_details: Option<TiktokPostSchema>,
580    /// GMB Post Details
581    #[serde(
582        rename = "gmbPostDetails",
583        default,
584        skip_serializing_if = "Option::is_none"
585    )]
586    pub gmb_post_details: Option<GMBPostSchema>,
587    /// User ID
588    /// Required by the API.
589    #[serde(rename = "userId")]
590    pub user_id: String,
591}
592
593/// `CreatePostSuccessfulResponseDTO` from the GoHighLevel OpenAPI spec.
594#[derive(Debug, Clone, Default, Serialize, Deserialize)]
595pub struct CreatePostSuccessfulResponseDTO {
596    /// Success or Failure
597    /// Required by the API.
598    /// (Optional here so responses that omit it still parse.)
599    #[serde(default, skip_serializing_if = "Option::is_none")]
600    pub success: Option<bool>,
601    /// Status Code
602    /// Required by the API.
603    /// (Optional here so responses that omit it still parse.)
604    #[serde(
605        rename = "statusCode",
606        default,
607        skip_serializing_if = "Option::is_none"
608    )]
609    pub status_code: Option<f64>,
610    /// Message
611    /// Required by the API.
612    /// (Optional here so responses that omit it still parse.)
613    #[serde(default, skip_serializing_if = "Option::is_none")]
614    pub message: Option<String>,
615    /// Requested Results
616    #[serde(default, skip_serializing_if = "Option::is_none")]
617    pub results: Option<CreatePostSuccessfulResponseSchema>,
618}
619
620/// `CreatePostSuccessfulResponseSchema` from the GoHighLevel OpenAPI spec.
621#[derive(Debug, Clone, Default, Serialize, Deserialize)]
622pub struct CreatePostSuccessfulResponseSchema {
623    /// Post Data
624    #[serde(default, skip_serializing_if = "Option::is_none")]
625    pub post: Option<GetPostFormattedSchema>,
626}
627
628/// `CsvPostStatusResponseDTO` from the GoHighLevel OpenAPI spec.
629#[derive(Debug, Clone, Default, Serialize, Deserialize)]
630pub struct CsvPostStatusResponseDTO {
631    /// Success or Failure
632    /// Required by the API.
633    /// (Optional here so responses that omit it still parse.)
634    #[serde(default, skip_serializing_if = "Option::is_none")]
635    pub success: Option<bool>,
636    /// Status Code
637    /// Required by the API.
638    /// (Optional here so responses that omit it still parse.)
639    #[serde(
640        rename = "statusCode",
641        default,
642        skip_serializing_if = "Option::is_none"
643    )]
644    pub status_code: Option<f64>,
645    /// Message
646    /// Required by the API.
647    /// (Optional here so responses that omit it still parse.)
648    #[serde(default, skip_serializing_if = "Option::is_none")]
649    pub message: Option<String>,
650}
651
652/// `CsvResponse` from the GoHighLevel OpenAPI spec.
653#[derive(Debug, Clone, Default, Serialize, Deserialize)]
654pub struct CsvResponse {
655    #[serde(
656        rename = "locationId",
657        default,
658        skip_serializing_if = "Option::is_none"
659    )]
660    pub location_id: Option<String>,
661    #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
662    pub file_name: Option<String>,
663    /// Account Ids
664    #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
665    pub account_ids: Vec<String>,
666    #[serde(default, skip_serializing_if = "Option::is_none")]
667    pub file: Option<String>,
668    /// status must be one of the following values: pending, in_progress, completed, failed,
669    /// in_review, importing, deleted
670    #[serde(default, skip_serializing_if = "Option::is_none")]
671    pub status: Option<serde_json::Value>,
672    #[serde(default, skip_serializing_if = "Option::is_none")]
673    pub count: Option<f64>,
674    #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
675    pub created_by: Option<String>,
676    #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
677    pub trace_id: Option<String>,
678    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
679    pub origin_id: Option<String>,
680    #[serde(default, skip_serializing_if = "Option::is_none")]
681    pub approver: Option<String>,
682}
683
684/// `DateSchema` from the GoHighLevel OpenAPI spec.
685#[derive(Debug, Clone, Default, Serialize, Deserialize)]
686pub struct DateSchema {
687    /// Required by the API.
688    /// (Optional here so responses that omit it still parse.)
689    #[serde(default, skip_serializing_if = "Option::is_none")]
690    pub year: Option<f64>,
691    /// Required by the API.
692    /// (Optional here so responses that omit it still parse.)
693    #[serde(default, skip_serializing_if = "Option::is_none")]
694    pub month: Option<f64>,
695    /// Required by the API.
696    /// (Optional here so responses that omit it still parse.)
697    #[serde(default, skip_serializing_if = "Option::is_none")]
698    pub day: Option<f64>,
699}
700
701/// `DeleteAccountResponseSchema` from the GoHighLevel OpenAPI spec.
702#[derive(Debug, Clone, Default, Serialize, Deserialize)]
703pub struct DeleteAccountResponseSchema {
704    /// Location Id
705    #[serde(
706        rename = "locationId",
707        default,
708        skip_serializing_if = "Option::is_none"
709    )]
710    pub location_id: Option<String>,
711    /// Id
712    #[serde(default, skip_serializing_if = "Option::is_none")]
713    pub id: Option<String>,
714}
715
716/// `DeleteCsvResponseDTO` from the GoHighLevel OpenAPI spec.
717#[derive(Debug, Clone, Default, Serialize, Deserialize)]
718pub struct DeleteCsvResponseDTO {
719    /// Success or Failure
720    /// Required by the API.
721    /// (Optional here so responses that omit it still parse.)
722    #[serde(default, skip_serializing_if = "Option::is_none")]
723    pub success: Option<bool>,
724    /// Status Code
725    /// Required by the API.
726    /// (Optional here so responses that omit it still parse.)
727    #[serde(
728        rename = "statusCode",
729        default,
730        skip_serializing_if = "Option::is_none"
731    )]
732    pub status_code: Option<f64>,
733    /// Message
734    /// Required by the API.
735    /// (Optional here so responses that omit it still parse.)
736    #[serde(default, skip_serializing_if = "Option::is_none")]
737    pub message: Option<String>,
738    /// Requested Results
739    #[serde(default, skip_serializing_if = "Option::is_none")]
740    pub results: Option<CSVResponseSchema>,
741}
742
743/// `DeletePostResponseDTO` from the GoHighLevel OpenAPI spec.
744#[derive(Debug, Clone, Default, Serialize, Deserialize)]
745pub struct DeletePostResponseDTO {
746    /// Success or Failure
747    /// Required by the API.
748    /// (Optional here so responses that omit it still parse.)
749    #[serde(default, skip_serializing_if = "Option::is_none")]
750    pub success: Option<bool>,
751    /// Status Code
752    /// Required by the API.
753    /// (Optional here so responses that omit it still parse.)
754    #[serde(
755        rename = "statusCode",
756        default,
757        skip_serializing_if = "Option::is_none"
758    )]
759    pub status_code: Option<f64>,
760    /// Message
761    /// Required by the API.
762    /// (Optional here so responses that omit it still parse.)
763    #[serde(default, skip_serializing_if = "Option::is_none")]
764    pub message: Option<String>,
765    /// Requested Results
766    #[serde(default, skip_serializing_if = "Option::is_none")]
767    pub results: Option<DeletePostResponseSchema>,
768}
769
770/// `DeletePostResponseSchema` from the GoHighLevel OpenAPI spec.
771#[derive(Debug, Clone, Default, Serialize, Deserialize)]
772pub struct DeletePostResponseSchema {
773    /// Post Id
774    /// Required by the API.
775    /// (Optional here so responses that omit it still parse.)
776    #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
777    pub post_id: Option<String>,
778}
779
780/// `DeletePostSuccessfulResponseDTO` from the GoHighLevel OpenAPI spec.
781#[derive(Debug, Clone, Default, Serialize, Deserialize)]
782pub struct DeletePostSuccessfulResponseDTO {
783    /// Success or Failure
784    /// Required by the API.
785    /// (Optional here so responses that omit it still parse.)
786    #[serde(default, skip_serializing_if = "Option::is_none")]
787    pub success: Option<bool>,
788    /// Status Code
789    /// Required by the API.
790    /// (Optional here so responses that omit it still parse.)
791    #[serde(
792        rename = "statusCode",
793        default,
794        skip_serializing_if = "Option::is_none"
795    )]
796    pub status_code: Option<f64>,
797    /// Message
798    /// Required by the API.
799    /// (Optional here so responses that omit it still parse.)
800    #[serde(default, skip_serializing_if = "Option::is_none")]
801    pub message: Option<String>,
802    /// Requested Results
803    #[serde(default, skip_serializing_if = "Option::is_none")]
804    pub results: Option<DeletePostSuccessfulResponseSchema>,
805}
806
807/// `DeletePostSuccessfulResponseSchema` from the GoHighLevel OpenAPI spec.
808#[derive(Debug, Clone, Default, Serialize, Deserialize)]
809pub struct DeletePostSuccessfulResponseSchema {
810    #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
811    pub post_id: Option<String>,
812}
813
814/// `DeletePostsDto` from the GoHighLevel OpenAPI spec.
815#[derive(Debug, Clone, Default, Serialize, Deserialize)]
816pub struct DeletePostsDto {
817    /// Requested Results
818    #[serde(rename = "postIds", default, skip_serializing_if = "Vec::is_empty")]
819    pub post_ids: Vec<String>,
820}
821
822/// `EndDateSchema` from the GoHighLevel OpenAPI spec.
823#[derive(Debug, Clone, Default, Serialize, Deserialize)]
824pub struct EndDateSchema {
825    /// End Date
826    #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
827    pub end_date: Option<DateSchema>,
828    /// End Time
829    #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
830    pub end_time: Option<TimeSchema>,
831}
832
833/// `FacebookPageSchema` from the GoHighLevel OpenAPI spec.
834#[derive(Debug, Clone, Default, Serialize, Deserialize)]
835pub struct FacebookPageSchema {
836    #[serde(default, skip_serializing_if = "Option::is_none")]
837    pub id: Option<String>,
838    #[serde(default, skip_serializing_if = "Option::is_none")]
839    pub name: Option<String>,
840    #[serde(default, skip_serializing_if = "Option::is_none")]
841    pub avatar: Option<String>,
842    #[serde(rename = "isOwned", default, skip_serializing_if = "Option::is_none")]
843    pub is_owned: Option<bool>,
844    #[serde(
845        rename = "isConnected",
846        default,
847        skip_serializing_if = "Option::is_none"
848    )]
849    pub is_connected: Option<bool>,
850}
851
852/// `FormatedApprovalDetails` from the GoHighLevel OpenAPI spec.
853#[derive(Debug, Clone, Default, Serialize, Deserialize)]
854pub struct FormatedApprovalDetails {
855    /// Approver
856    #[serde(default, skip_serializing_if = "Option::is_none")]
857    pub approver: Option<String>,
858    /// Requester Notes
859    #[serde(
860        rename = "requesterNote",
861        default,
862        skip_serializing_if = "Option::is_none"
863    )]
864    pub requester_note: Option<String>,
865    /// Approver Notes
866    #[serde(
867        rename = "approverNote",
868        default,
869        skip_serializing_if = "Option::is_none"
870    )]
871    pub approver_note: Option<String>,
872    /// Approval Status must be one of the following values: pending, approved, rejected,
873    /// not_required
874    #[serde(
875        rename = "approvalStatus",
876        default,
877        skip_serializing_if = "Option::is_none"
878    )]
879    pub approval_status: Option<serde_json::Value>,
880    /// Approver User Details
881    #[serde(
882        rename = "approverUser",
883        default,
884        skip_serializing_if = "Option::is_none"
885    )]
886    pub approver_user: Option<PostUserSchema>,
887}
888
889/// `GMBPostSchema` from the GoHighLevel OpenAPI spec.
890#[derive(Debug, Clone, Default, Serialize, Deserialize)]
891pub struct GMBPostSchema {
892    /// gmbEventType must be one of the following values: STANDARD, EVENT, OFFER
893    #[serde(
894        rename = "gmbEventType",
895        default,
896        skip_serializing_if = "Option::is_none"
897    )]
898    pub gmb_event_type: Option<String>,
899    /// Title
900    #[serde(default, skip_serializing_if = "Option::is_none")]
901    pub title: Option<String>,
902    /// Offer Title
903    #[serde(
904        rename = "offerTitle",
905        default,
906        skip_serializing_if = "Option::is_none"
907    )]
908    pub offer_title: Option<String>,
909    /// Start Date
910    #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
911    pub start_date: Option<StartDateSchema>,
912    /// End Date
913    #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
914    pub end_date: Option<EndDateSchema>,
915    /// Terms Condition Url
916    #[serde(
917        rename = "termsConditions",
918        default,
919        skip_serializing_if = "Option::is_none"
920    )]
921    pub terms_conditions: Option<String>,
922    /// Url
923    #[serde(default, skip_serializing_if = "Option::is_none")]
924    pub url: Option<String>,
925    /// Coupon Code
926    #[serde(
927        rename = "couponCode",
928        default,
929        skip_serializing_if = "Option::is_none"
930    )]
931    pub coupon_code: Option<String>,
932    /// Redeem Online Url
933    #[serde(
934        rename = "redeemOnlineUrl",
935        default,
936        skip_serializing_if = "Option::is_none"
937    )]
938    pub redeem_online_url: Option<String>,
939    /// Action Type must be one of the following values: none, order, book, shop, learn_more,
940    /// call, sign_up
941    #[serde(
942        rename = "actionType",
943        default,
944        skip_serializing_if = "Option::is_none"
945    )]
946    pub action_type: Option<serde_json::Value>,
947}
948
949/// `GetAccountSchema` from the GoHighLevel OpenAPI spec.
950#[derive(Debug, Clone, Default, Serialize, Deserialize)]
951pub struct GetAccountSchema {
952    #[serde(default, skip_serializing_if = "Option::is_none")]
953    pub id: Option<String>,
954    #[serde(rename = "oauthId", default, skip_serializing_if = "Option::is_none")]
955    pub oauth_id: Option<String>,
956    #[serde(rename = "profileId", default, skip_serializing_if = "Option::is_none")]
957    pub profile_id: Option<String>,
958    #[serde(default, skip_serializing_if = "Option::is_none")]
959    pub name: Option<String>,
960    /// platform must be one of the following values: google, facebook, instagram, linkedin,
961    /// twitter, tiktok
962    #[serde(default, skip_serializing_if = "Option::is_none")]
963    pub platform: Option<String>,
964    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
965    pub type_: Option<String>,
966    #[serde(default, skip_serializing_if = "Option::is_none")]
967    pub expire: Option<String>,
968    #[serde(rename = "isExpired", default, skip_serializing_if = "Option::is_none")]
969    pub is_expired: Option<bool>,
970    #[serde(default, skip_serializing_if = "Option::is_none")]
971    pub meta: Option<serde_json::Value>,
972}
973
974/// `GetByIdResponseDTO` from the GoHighLevel OpenAPI spec.
975#[derive(Debug, Clone, Default, Serialize, Deserialize)]
976pub struct GetByIdResponseDTO {
977    /// Success or Failure
978    /// Required by the API.
979    /// (Optional here so responses that omit it still parse.)
980    #[serde(default, skip_serializing_if = "Option::is_none")]
981    pub success: Option<bool>,
982    /// Status Code
983    /// Required by the API.
984    /// (Optional here so responses that omit it still parse.)
985    #[serde(
986        rename = "statusCode",
987        default,
988        skip_serializing_if = "Option::is_none"
989    )]
990    pub status_code: Option<f64>,
991    /// Message
992    /// Required by the API.
993    /// (Optional here so responses that omit it still parse.)
994    #[serde(default, skip_serializing_if = "Option::is_none")]
995    pub message: Option<String>,
996    /// Requested Results
997    #[serde(default, skip_serializing_if = "Option::is_none")]
998    pub results: Option<GetCategorySchema>,
999}
1000
1001/// `GetByIdResponseSchema` from the GoHighLevel OpenAPI spec.
1002#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1003pub struct GetByIdResponseSchema {
1004    /// Category Name
1005    #[serde(default, skip_serializing_if = "Option::is_none")]
1006    pub name: Option<String>,
1007    /// Color For Category
1008    #[serde(
1009        rename = "primaryColor",
1010        default,
1011        skip_serializing_if = "Option::is_none"
1012    )]
1013    pub primary_color: Option<String>,
1014    /// Secondary Color
1015    #[serde(
1016        rename = "secondaryColor",
1017        default,
1018        skip_serializing_if = "Option::is_none"
1019    )]
1020    pub secondary_color: Option<String>,
1021    /// Location ID
1022    #[serde(
1023        rename = "locationId",
1024        default,
1025        skip_serializing_if = "Option::is_none"
1026    )]
1027    pub location_id: Option<String>,
1028    /// ID
1029    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1030    pub id: Option<String>,
1031    /// Created By User
1032    #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1033    pub created_by: Option<String>,
1034    /// Deleted Value
1035    /// Required by the API.
1036    /// (Optional here so responses that omit it still parse.)
1037    #[serde(default, skip_serializing_if = "Option::is_none")]
1038    pub deleted: Option<bool>,
1039    /// Message
1040    #[serde(default, skip_serializing_if = "Option::is_none")]
1041    pub message: Option<String>,
1042    /// Format: date-time (ISO-8601 string).
1043    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1044    pub created_at: Option<String>,
1045    /// Format: date-time (ISO-8601 string).
1046    #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1047    pub updated_at: Option<String>,
1048}
1049
1050/// `GetByLocationIdResponseDTO` from the GoHighLevel OpenAPI spec.
1051#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1052pub struct GetByLocationIdResponseDTO {
1053    /// Success or Failure
1054    /// Required by the API.
1055    /// (Optional here so responses that omit it still parse.)
1056    #[serde(default, skip_serializing_if = "Option::is_none")]
1057    pub success: Option<bool>,
1058    /// Status Code
1059    /// Required by the API.
1060    /// (Optional here so responses that omit it still parse.)
1061    #[serde(
1062        rename = "statusCode",
1063        default,
1064        skip_serializing_if = "Option::is_none"
1065    )]
1066    pub status_code: Option<f64>,
1067    /// Message
1068    /// Required by the API.
1069    /// (Optional here so responses that omit it still parse.)
1070    #[serde(default, skip_serializing_if = "Option::is_none")]
1071    pub message: Option<String>,
1072    /// Requested Results
1073    #[serde(default, skip_serializing_if = "Option::is_none")]
1074    pub results: Option<GetByLocationIdResponseSchema>,
1075}
1076
1077/// `GetByLocationIdResponseSchema` from the GoHighLevel OpenAPI spec.
1078#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1079pub struct GetByLocationIdResponseSchema {
1080    /// Count
1081    /// Required by the API.
1082    /// (Optional here so responses that omit it still parse.)
1083    #[serde(default, skip_serializing_if = "Option::is_none")]
1084    pub count: Option<f64>,
1085    /// Meta Data
1086    /// Required by the API.
1087    /// (Optional here so responses that omit it still parse.)
1088    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1089    pub categories: Vec<CategorySchema>,
1090}
1091
1092/// `GetCategorySchema` from the GoHighLevel OpenAPI spec.
1093#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1094pub struct GetCategorySchema {
1095    /// Category Schema
1096    #[serde(default, skip_serializing_if = "Option::is_none")]
1097    pub category: Option<GetByIdResponseSchema>,
1098}
1099
1100/// `GetCsvPostResponseDTO` from the GoHighLevel OpenAPI spec.
1101#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1102pub struct GetCsvPostResponseDTO {
1103    /// Success or Failure
1104    /// Required by the API.
1105    /// (Optional here so responses that omit it still parse.)
1106    #[serde(default, skip_serializing_if = "Option::is_none")]
1107    pub success: Option<bool>,
1108    /// Status Code
1109    /// Required by the API.
1110    /// (Optional here so responses that omit it still parse.)
1111    #[serde(
1112        rename = "statusCode",
1113        default,
1114        skip_serializing_if = "Option::is_none"
1115    )]
1116    pub status_code: Option<f64>,
1117    /// Message
1118    /// Required by the API.
1119    /// (Optional here so responses that omit it still parse.)
1120    #[serde(default, skip_serializing_if = "Option::is_none")]
1121    pub message: Option<String>,
1122    /// Requested Results
1123    #[serde(default, skip_serializing_if = "Option::is_none")]
1124    pub results: Option<GetCsvPostResponseSchema>,
1125}
1126
1127/// `GetCsvPostResponseSchema` from the GoHighLevel OpenAPI spec.
1128#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1129pub struct GetCsvPostResponseSchema {
1130    /// CSV Data
1131    #[serde(default, skip_serializing_if = "Option::is_none")]
1132    pub csv: Option<CSVImportSchema>,
1133    #[serde(default, skip_serializing_if = "Option::is_none")]
1134    pub count: Option<f64>,
1135    /// CSV Posts
1136    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1137    pub posts: Vec<CSVPostSchema>,
1138}
1139
1140/// `GetFacebookAccountsResponseDTO` from the GoHighLevel OpenAPI spec.
1141#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1142pub struct GetFacebookAccountsResponseDTO {
1143    /// Success or Failure
1144    /// Required by the API.
1145    /// (Optional here so responses that omit it still parse.)
1146    #[serde(default, skip_serializing_if = "Option::is_none")]
1147    pub success: Option<bool>,
1148    /// Status Code
1149    /// Required by the API.
1150    /// (Optional here so responses that omit it still parse.)
1151    #[serde(
1152        rename = "statusCode",
1153        default,
1154        skip_serializing_if = "Option::is_none"
1155    )]
1156    pub status_code: Option<f64>,
1157    /// Message
1158    /// Required by the API.
1159    /// (Optional here so responses that omit it still parse.)
1160    #[serde(default, skip_serializing_if = "Option::is_none")]
1161    pub message: Option<String>,
1162    /// Requested Results
1163    #[serde(default, skip_serializing_if = "Option::is_none")]
1164    pub results: Option<GetFacebookAccountsSchema>,
1165}
1166
1167/// `GetFacebookAccountsSchema` from the GoHighLevel OpenAPI spec.
1168#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1169pub struct GetFacebookAccountsSchema {
1170    /// Facebook Pages Details
1171    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1172    pub pages: Vec<FacebookPageSchema>,
1173}
1174
1175/// `GetGoogleLocationAccountSchema` from the GoHighLevel OpenAPI spec.
1176#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1177pub struct GetGoogleLocationAccountSchema {
1178    /// Locations
1179    #[serde(default, skip_serializing_if = "Option::is_none")]
1180    pub locations: Option<GetGoogleLocationSchema>,
1181}
1182
1183/// `GetGoogleLocationResponseDTO` from the GoHighLevel OpenAPI spec.
1184#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1185pub struct GetGoogleLocationResponseDTO {
1186    /// Success or Failure
1187    /// Required by the API.
1188    /// (Optional here so responses that omit it still parse.)
1189    #[serde(default, skip_serializing_if = "Option::is_none")]
1190    pub success: Option<bool>,
1191    /// Status Code
1192    /// Required by the API.
1193    /// (Optional here so responses that omit it still parse.)
1194    #[serde(
1195        rename = "statusCode",
1196        default,
1197        skip_serializing_if = "Option::is_none"
1198    )]
1199    pub status_code: Option<f64>,
1200    /// Message
1201    /// Required by the API.
1202    /// (Optional here so responses that omit it still parse.)
1203    #[serde(default, skip_serializing_if = "Option::is_none")]
1204    pub message: Option<String>,
1205    /// Requested Results
1206    #[serde(default, skip_serializing_if = "Option::is_none")]
1207    pub results: Option<GetGoogleLocationAccountSchema>,
1208}
1209
1210/// `GetGoogleLocationSchema` from the GoHighLevel OpenAPI spec.
1211#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1212pub struct GetGoogleLocationSchema {
1213    /// Google Location Details
1214    #[serde(default, skip_serializing_if = "Option::is_none")]
1215    pub location: Option<GoogleLocationSchema>,
1216    /// Google Account Details
1217    #[serde(default, skip_serializing_if = "Option::is_none")]
1218    pub account: Option<GoogleAccountsSchema>,
1219}
1220
1221/// `GetGroupSchema` from the GoHighLevel OpenAPI spec.
1222#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1223pub struct GetGroupSchema {
1224    /// Group Id
1225    /// Required by the API.
1226    /// (Optional here so responses that omit it still parse.)
1227    #[serde(default, skip_serializing_if = "Option::is_none")]
1228    pub id: Option<String>,
1229    /// name of group
1230    /// Required by the API.
1231    /// (Optional here so responses that omit it still parse.)
1232    #[serde(default, skip_serializing_if = "Option::is_none")]
1233    pub name: Option<String>,
1234    /// Required by the API.
1235    /// (Optional here so responses that omit it still parse.)
1236    #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
1237    pub account_ids: Vec<String>,
1238}
1239
1240/// `GetInstagramAccountsResponseDTO` from the GoHighLevel OpenAPI spec.
1241#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1242pub struct GetInstagramAccountsResponseDTO {
1243    /// Success or Failure
1244    /// Required by the API.
1245    /// (Optional here so responses that omit it still parse.)
1246    #[serde(default, skip_serializing_if = "Option::is_none")]
1247    pub success: Option<bool>,
1248    /// Status Code
1249    /// Required by the API.
1250    /// (Optional here so responses that omit it still parse.)
1251    #[serde(
1252        rename = "statusCode",
1253        default,
1254        skip_serializing_if = "Option::is_none"
1255    )]
1256    pub status_code: Option<f64>,
1257    /// Message
1258    /// Required by the API.
1259    /// (Optional here so responses that omit it still parse.)
1260    #[serde(default, skip_serializing_if = "Option::is_none")]
1261    pub message: Option<String>,
1262    /// Requested Results
1263    #[serde(default, skip_serializing_if = "Option::is_none")]
1264    pub results: Option<GetInstagramAccountsSchema>,
1265}
1266
1267/// `GetInstagramAccountsSchema` from the GoHighLevel OpenAPI spec.
1268#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1269pub struct GetInstagramAccountsSchema {
1270    /// Instagram Account Details
1271    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1272    pub accounts: Vec<InstagramAccountSchema>,
1273}
1274
1275/// `GetLinkedInAccountSchema` from the GoHighLevel OpenAPI spec.
1276#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1277pub struct GetLinkedInAccountSchema {
1278    /// LinkedIn Pages
1279    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1280    pub pages: Vec<LinkedInPageSchema>,
1281    /// LinkedIn Profile Details
1282    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1283    pub profile: Vec<LinkedInProfileSchema>,
1284}
1285
1286/// `GetLinkedInAccountsResponseDTO` from the GoHighLevel OpenAPI spec.
1287#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1288pub struct GetLinkedInAccountsResponseDTO {
1289    /// Success or Failure
1290    /// Required by the API.
1291    /// (Optional here so responses that omit it still parse.)
1292    #[serde(default, skip_serializing_if = "Option::is_none")]
1293    pub success: Option<bool>,
1294    /// Status Code
1295    /// Required by the API.
1296    /// (Optional here so responses that omit it still parse.)
1297    #[serde(
1298        rename = "statusCode",
1299        default,
1300        skip_serializing_if = "Option::is_none"
1301    )]
1302    pub status_code: Option<f64>,
1303    /// Message
1304    /// Required by the API.
1305    /// (Optional here so responses that omit it still parse.)
1306    #[serde(default, skip_serializing_if = "Option::is_none")]
1307    pub message: Option<String>,
1308    /// Requested Results
1309    #[serde(default, skip_serializing_if = "Option::is_none")]
1310    pub results: Option<GetLinkedInAccountSchema>,
1311}
1312
1313/// `GetPostFormattedSchema` from the GoHighLevel OpenAPI spec.
1314#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1315pub struct GetPostFormattedSchema {
1316    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1317    pub id: Option<String>,
1318    /// source must be one of the following values: composer, recurring, csv
1319    /// Allowed values: `composer`, `csv`, `recurring`, `review`, `rss`.
1320    #[serde(default, skip_serializing_if = "Option::is_none")]
1321    pub source: Option<String>,
1322    /// Location Id
1323    /// Required by the API.
1324    /// (Optional here so responses that omit it still parse.)
1325    #[serde(
1326        rename = "locationId",
1327        default,
1328        skip_serializing_if = "Option::is_none"
1329    )]
1330    pub location_id: Option<String>,
1331    /// platform must be one of the following values: google, facebook, instagram, linkedin,
1332    /// twitter, tiktok
1333    #[serde(default, skip_serializing_if = "Option::is_none")]
1334    pub platform: Option<String>,
1335    /// Format: date-time (ISO-8601 string).
1336    #[serde(
1337        rename = "displayDate",
1338        default,
1339        skip_serializing_if = "Option::is_none"
1340    )]
1341    pub display_date: Option<String>,
1342    /// Format: date-time (ISO-8601 string).
1343    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1344    pub created_at: Option<String>,
1345    /// Format: date-time (ISO-8601 string).
1346    #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1347    pub updated_at: Option<String>,
1348    /// Account Id
1349    #[serde(rename = "accountId", default, skip_serializing_if = "Option::is_none")]
1350    pub account_id: Option<String>,
1351    /// Error
1352    /// Required by the API.
1353    /// (Optional here so responses that omit it still parse.)
1354    #[serde(default, skip_serializing_if = "Option::is_none")]
1355    pub error: Option<String>,
1356    #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
1357    pub post_id: Option<String>,
1358    #[serde(
1359        rename = "publishedAt",
1360        default,
1361        skip_serializing_if = "Option::is_none"
1362    )]
1363    pub published_at: Option<String>,
1364    /// Account Ids
1365    #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
1366    pub account_ids: Vec<String>,
1367    #[serde(default, skip_serializing_if = "Option::is_none")]
1368    pub summary: Option<String>,
1369    /// Post Media Data The limitations of media as per the platforms is provided through the
1370    /// reference link in API description
1371    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1372    pub media: Vec<PostMediaSchema>,
1373    /// Status must be one of the following values: in_progress, draft, failed, published,
1374    /// scheduled, in_review, notification_sent, deleted
1375    #[serde(default, skip_serializing_if = "Option::is_none")]
1376    pub status: Option<serde_json::Value>,
1377    #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1378    pub created_by: Option<String>,
1379    /// Post Type must be one of the following values: - post, story, reel
1380    /// Required by the API.
1381    /// (Optional here so responses that omit it still parse.)
1382    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1383    pub type_: Option<serde_json::Value>,
1384    /// Tag Ids
1385    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1386    pub tags: Vec<String>,
1387    /// Og Tags Meta Data
1388    #[serde(
1389        rename = "ogTagsDetails",
1390        default,
1391        skip_serializing_if = "Option::is_none"
1392    )]
1393    pub og_tags_details: Option<OgTagsSchema>,
1394    /// Post Approval Details
1395    #[serde(
1396        rename = "postApprovalDetails",
1397        default,
1398        skip_serializing_if = "Option::is_none"
1399    )]
1400    pub post_approval_details: Option<FormatedApprovalDetails>,
1401    /// Tiktok Post Details
1402    #[serde(
1403        rename = "tiktokPostDetails",
1404        default,
1405        skip_serializing_if = "Option::is_none"
1406    )]
1407    pub tiktok_post_details: Option<TiktokPostSchema>,
1408    /// GMB Post Details
1409    #[serde(
1410        rename = "gmbPostDetails",
1411        default,
1412        skip_serializing_if = "Option::is_none"
1413    )]
1414    pub gmb_post_details: Option<GMBPostSchema>,
1415    /// User
1416    #[serde(default, skip_serializing_if = "Option::is_none")]
1417    pub user: Option<PostUserSchema>,
1418}
1419
1420/// `GetPostSuccessfulResponseDTO` from the GoHighLevel OpenAPI spec.
1421#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1422pub struct GetPostSuccessfulResponseDTO {
1423    /// Success or Failure
1424    /// Required by the API.
1425    /// (Optional here so responses that omit it still parse.)
1426    #[serde(default, skip_serializing_if = "Option::is_none")]
1427    pub success: Option<bool>,
1428    /// Status Code
1429    /// Required by the API.
1430    /// (Optional here so responses that omit it still parse.)
1431    #[serde(
1432        rename = "statusCode",
1433        default,
1434        skip_serializing_if = "Option::is_none"
1435    )]
1436    pub status_code: Option<f64>,
1437    /// Message
1438    /// Required by the API.
1439    /// (Optional here so responses that omit it still parse.)
1440    #[serde(default, skip_serializing_if = "Option::is_none")]
1441    pub message: Option<String>,
1442    /// Requested Results
1443    #[serde(default, skip_serializing_if = "Option::is_none")]
1444    pub results: Option<GetPostSuccessfulResponseSchema>,
1445}
1446
1447/// `GetPostSuccessfulResponseSchema` from the GoHighLevel OpenAPI spec.
1448#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1449pub struct GetPostSuccessfulResponseSchema {
1450    /// Post Data
1451    #[serde(default, skip_serializing_if = "Option::is_none")]
1452    pub post: Option<GetPostFormattedSchema>,
1453}
1454
1455/// `GetTagsByIdResponseDTO` from the GoHighLevel OpenAPI spec.
1456#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1457pub struct GetTagsByIdResponseDTO {
1458    /// Success or Failure
1459    /// Required by the API.
1460    /// (Optional here so responses that omit it still parse.)
1461    #[serde(default, skip_serializing_if = "Option::is_none")]
1462    pub success: Option<bool>,
1463    /// Status Code
1464    /// Required by the API.
1465    /// (Optional here so responses that omit it still parse.)
1466    #[serde(
1467        rename = "statusCode",
1468        default,
1469        skip_serializing_if = "Option::is_none"
1470    )]
1471    pub status_code: Option<f64>,
1472    /// Message
1473    /// Required by the API.
1474    /// (Optional here so responses that omit it still parse.)
1475    #[serde(default, skip_serializing_if = "Option::is_none")]
1476    pub message: Option<String>,
1477    /// Requested Results
1478    #[serde(default, skip_serializing_if = "Option::is_none")]
1479    pub results: Option<GetTagsByIdResponseSchema>,
1480}
1481
1482/// `GetTagsByIdResponseSchema` from the GoHighLevel OpenAPI spec.
1483#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1484pub struct GetTagsByIdResponseSchema {
1485    /// Social Media Tag Data
1486    /// Required by the API.
1487    /// (Optional here so responses that omit it still parse.)
1488    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1489    pub tags: Vec<SocialMediaTagSchema>,
1490    /// Count
1491    #[serde(default, skip_serializing_if = "Option::is_none")]
1492    pub count: Option<f64>,
1493}
1494
1495/// `GetTagsByLocationIdResponseDTO` from the GoHighLevel OpenAPI spec.
1496#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1497pub struct GetTagsByLocationIdResponseDTO {
1498    /// Success or Failure
1499    /// Required by the API.
1500    /// (Optional here so responses that omit it still parse.)
1501    #[serde(default, skip_serializing_if = "Option::is_none")]
1502    pub success: Option<bool>,
1503    /// Status Code
1504    /// Required by the API.
1505    /// (Optional here so responses that omit it still parse.)
1506    #[serde(
1507        rename = "statusCode",
1508        default,
1509        skip_serializing_if = "Option::is_none"
1510    )]
1511    pub status_code: Option<f64>,
1512    /// Message
1513    /// Required by the API.
1514    /// (Optional here so responses that omit it still parse.)
1515    #[serde(default, skip_serializing_if = "Option::is_none")]
1516    pub message: Option<String>,
1517    /// Requested Results
1518    #[serde(default, skip_serializing_if = "Option::is_none")]
1519    pub results: Option<GetTagsByLocationIdResponseSchema>,
1520}
1521
1522/// `GetTagsByLocationIdResponseSchema` from the GoHighLevel OpenAPI spec.
1523#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1524pub struct GetTagsByLocationIdResponseSchema {
1525    /// Tags Data
1526    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1527    pub tags: Vec<SocialMediaTagSchema>,
1528    /// Count
1529    #[serde(default, skip_serializing_if = "Option::is_none")]
1530    pub count: Option<f64>,
1531}
1532
1533/// `GetTiktokAccountResponseDTO` from the GoHighLevel OpenAPI spec.
1534#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1535pub struct GetTiktokAccountResponseDTO {
1536    /// Success or Failure
1537    /// Required by the API.
1538    /// (Optional here so responses that omit it still parse.)
1539    #[serde(default, skip_serializing_if = "Option::is_none")]
1540    pub success: Option<bool>,
1541    /// Status Code
1542    /// Required by the API.
1543    /// (Optional here so responses that omit it still parse.)
1544    #[serde(
1545        rename = "statusCode",
1546        default,
1547        skip_serializing_if = "Option::is_none"
1548    )]
1549    pub status_code: Option<f64>,
1550    /// Message
1551    /// Required by the API.
1552    /// (Optional here so responses that omit it still parse.)
1553    #[serde(default, skip_serializing_if = "Option::is_none")]
1554    pub message: Option<String>,
1555    /// Requested Results
1556    #[serde(default, skip_serializing_if = "Option::is_none")]
1557    pub results: Option<GetTiktokAccountSchema>,
1558}
1559
1560/// `GetTiktokAccountSchema` from the GoHighLevel OpenAPI spec.
1561#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1562pub struct GetTiktokAccountSchema {
1563    /// Tiktok Business Account
1564    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1565    pub profile: Vec<TiktokProfileSchema>,
1566}
1567
1568/// `GetTiktokBusinessAccountResponseDTO` from the GoHighLevel OpenAPI spec.
1569#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1570pub struct GetTiktokBusinessAccountResponseDTO {
1571    /// Success or Failure
1572    /// Required by the API.
1573    /// (Optional here so responses that omit it still parse.)
1574    #[serde(default, skip_serializing_if = "Option::is_none")]
1575    pub success: Option<bool>,
1576    /// Status Code
1577    /// Required by the API.
1578    /// (Optional here so responses that omit it still parse.)
1579    #[serde(
1580        rename = "statusCode",
1581        default,
1582        skip_serializing_if = "Option::is_none"
1583    )]
1584    pub status_code: Option<f64>,
1585    /// Message
1586    /// Required by the API.
1587    /// (Optional here so responses that omit it still parse.)
1588    #[serde(default, skip_serializing_if = "Option::is_none")]
1589    pub message: Option<String>,
1590    /// Requested Results
1591    #[serde(default, skip_serializing_if = "Option::is_none")]
1592    pub results: Option<GetTiktokBusinessAccountSchema>,
1593}
1594
1595/// `GetTiktokBusinessAccountSchema` from the GoHighLevel OpenAPI spec.
1596#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1597pub struct GetTiktokBusinessAccountSchema {
1598    /// Tiktok Profile
1599    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1600    pub profile: Vec<TiktokProfileSchema>,
1601}
1602
1603/// `GetTwitterAccountsResponseDTO` from the GoHighLevel OpenAPI spec.
1604#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1605pub struct GetTwitterAccountsResponseDTO {
1606    /// Success or Failure
1607    /// Required by the API.
1608    /// (Optional here so responses that omit it still parse.)
1609    #[serde(default, skip_serializing_if = "Option::is_none")]
1610    pub success: Option<bool>,
1611    /// Status Code
1612    /// Required by the API.
1613    /// (Optional here so responses that omit it still parse.)
1614    #[serde(
1615        rename = "statusCode",
1616        default,
1617        skip_serializing_if = "Option::is_none"
1618    )]
1619    pub status_code: Option<f64>,
1620    /// Message
1621    /// Required by the API.
1622    /// (Optional here so responses that omit it still parse.)
1623    #[serde(default, skip_serializing_if = "Option::is_none")]
1624    pub message: Option<String>,
1625    /// Requested Results
1626    #[serde(default, skip_serializing_if = "Option::is_none")]
1627    pub results: Option<GetTwitterAccountsSchema>,
1628}
1629
1630/// `GetTwitterAccountsSchema` from the GoHighLevel OpenAPI spec.
1631#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1632pub struct GetTwitterAccountsSchema {
1633    /// Twitter Profile Details
1634    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1635    pub profile: Vec<TwitterProfileSchema>,
1636}
1637
1638/// `GetUploadStatusResponseDTO` from the GoHighLevel OpenAPI spec.
1639#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1640pub struct GetUploadStatusResponseDTO {
1641    /// Success or Failure
1642    /// Required by the API.
1643    /// (Optional here so responses that omit it still parse.)
1644    #[serde(default, skip_serializing_if = "Option::is_none")]
1645    pub success: Option<bool>,
1646    /// Status Code
1647    /// Required by the API.
1648    /// (Optional here so responses that omit it still parse.)
1649    #[serde(
1650        rename = "statusCode",
1651        default,
1652        skip_serializing_if = "Option::is_none"
1653    )]
1654    pub status_code: Option<f64>,
1655    /// Message
1656    /// Required by the API.
1657    /// (Optional here so responses that omit it still parse.)
1658    #[serde(default, skip_serializing_if = "Option::is_none")]
1659    pub message: Option<String>,
1660    /// Requested Results
1661    #[serde(default, skip_serializing_if = "Option::is_none")]
1662    pub results: Option<GetUploadStatusResponseSchema>,
1663}
1664
1665/// `GetUploadStatusResponseSchema` from the GoHighLevel OpenAPI spec.
1666#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1667pub struct GetUploadStatusResponseSchema {
1668    /// CSV Data
1669    /// Required by the API.
1670    /// (Optional here so responses that omit it still parse.)
1671    #[serde(default, skip_serializing_if = "Option::is_none")]
1672    pub csvs: Option<CSVImportSchema>,
1673    /// Required by the API.
1674    /// (Optional here so responses that omit it still parse.)
1675    #[serde(default, skip_serializing_if = "Option::is_none")]
1676    pub count: Option<f64>,
1677}
1678
1679/// `GoogleAccountsSchema` from the GoHighLevel OpenAPI spec.
1680#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1681pub struct GoogleAccountsSchema {
1682    #[serde(default, skip_serializing_if = "Option::is_none")]
1683    pub name: Option<String>,
1684    #[serde(
1685        rename = "accountName",
1686        default,
1687        skip_serializing_if = "Option::is_none"
1688    )]
1689    pub account_name: Option<String>,
1690    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1691    pub type_: Option<String>,
1692    #[serde(
1693        rename = "verificationState",
1694        default,
1695        skip_serializing_if = "Option::is_none"
1696    )]
1697    pub verification_state: Option<String>,
1698    #[serde(
1699        rename = "vettedState",
1700        default,
1701        skip_serializing_if = "Option::is_none"
1702    )]
1703    pub vetted_state: Option<String>,
1704}
1705
1706/// `GoogleLocationSchema` from the GoHighLevel OpenAPI spec.
1707#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1708pub struct GoogleLocationSchema {
1709    #[serde(default, skip_serializing_if = "Option::is_none")]
1710    pub name: Option<String>,
1711    #[serde(rename = "storeCode", default, skip_serializing_if = "Option::is_none")]
1712    pub store_code: Option<String>,
1713    #[serde(default, skip_serializing_if = "Option::is_none")]
1714    pub title: Option<String>,
1715    /// Meta data not related to User
1716    #[serde(default, skip_serializing_if = "Option::is_none")]
1717    pub metadata: Option<serde_json::Value>,
1718    /// Store front address
1719    #[serde(
1720        rename = "storefrontAddress",
1721        default,
1722        skip_serializing_if = "Option::is_none"
1723    )]
1724    pub storefront_address: Option<serde_json::Value>,
1725    /// All locations and chain related to this one
1726    #[serde(
1727        rename = "relationshipData",
1728        default,
1729        skip_serializing_if = "Option::is_none"
1730    )]
1731    pub relationship_data: Option<serde_json::Value>,
1732    #[serde(
1733        rename = "maxLocation",
1734        default,
1735        skip_serializing_if = "Option::is_none"
1736    )]
1737    pub max_location: Option<bool>,
1738    #[serde(
1739        rename = "isVerified",
1740        default,
1741        skip_serializing_if = "Option::is_none"
1742    )]
1743    pub is_verified: Option<bool>,
1744    #[serde(
1745        rename = "isConnected",
1746        default,
1747        skip_serializing_if = "Option::is_none"
1748    )]
1749    pub is_connected: Option<bool>,
1750}
1751
1752/// `IOgTagsSchema` from the GoHighLevel OpenAPI spec.
1753#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1754pub struct IOgTagsSchema {
1755    /// Tag url
1756    #[serde(default, skip_serializing_if = "Option::is_none")]
1757    pub url: Option<String>,
1758    /// Tag description
1759    #[serde(
1760        rename = "ogDescription",
1761        default,
1762        skip_serializing_if = "Option::is_none"
1763    )]
1764    pub og_description: Option<String>,
1765    /// Tag description
1766    #[serde(rename = "ogImage", default, skip_serializing_if = "Option::is_none")]
1767    pub og_image: Option<OgImageSchema>,
1768    /// Tag Title
1769    #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
1770    pub og_title: Option<String>,
1771    /// Tag Url
1772    #[serde(rename = "ogUrl", default, skip_serializing_if = "Option::is_none")]
1773    pub og_url: Option<String>,
1774    /// Site Name
1775    #[serde(
1776        rename = "ogSiteName",
1777        default,
1778        skip_serializing_if = "Option::is_none"
1779    )]
1780    pub og_site_name: Option<String>,
1781    /// Og Tag Error
1782    #[serde(default, skip_serializing_if = "Option::is_none")]
1783    pub error: Option<String>,
1784}
1785
1786/// `InstagramAccountSchema` from the GoHighLevel OpenAPI spec.
1787#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1788pub struct InstagramAccountSchema {
1789    #[serde(default, skip_serializing_if = "Option::is_none")]
1790    pub id: Option<String>,
1791    #[serde(default, skip_serializing_if = "Option::is_none")]
1792    pub name: Option<String>,
1793    #[serde(default, skip_serializing_if = "Option::is_none")]
1794    pub avatar: Option<String>,
1795    #[serde(rename = "pageId", default, skip_serializing_if = "Option::is_none")]
1796    pub page_id: Option<String>,
1797    #[serde(
1798        rename = "isConnected",
1799        default,
1800        skip_serializing_if = "Option::is_none"
1801    )]
1802    pub is_connected: Option<bool>,
1803}
1804
1805/// `LinkedInPageSchema` from the GoHighLevel OpenAPI spec.
1806#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1807pub struct LinkedInPageSchema {
1808    /// Page ID
1809    #[serde(default, skip_serializing_if = "Option::is_none")]
1810    pub id: Option<String>,
1811    /// LinkedIn Page Name
1812    #[serde(default, skip_serializing_if = "Option::is_none")]
1813    pub name: Option<String>,
1814    /// Profile Avatar url
1815    #[serde(default, skip_serializing_if = "Option::is_none")]
1816    pub avatar: Option<String>,
1817    /// URN
1818    #[serde(default, skip_serializing_if = "Option::is_none")]
1819    pub urn: Option<String>,
1820    /// is connected to app
1821    #[serde(
1822        rename = "isConnected",
1823        default,
1824        skip_serializing_if = "Option::is_none"
1825    )]
1826    pub is_connected: Option<bool>,
1827}
1828
1829/// `LinkedInProfileSchema` from the GoHighLevel OpenAPI spec.
1830#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1831pub struct LinkedInProfileSchema {
1832    /// Id
1833    #[serde(default, skip_serializing_if = "Option::is_none")]
1834    pub id: Option<String>,
1835    /// Name of profile
1836    #[serde(default, skip_serializing_if = "Option::is_none")]
1837    pub name: Option<String>,
1838    /// Profile avatar
1839    #[serde(default, skip_serializing_if = "Option::is_none")]
1840    pub avatar: Option<String>,
1841    /// URN
1842    #[serde(default, skip_serializing_if = "Option::is_none")]
1843    pub urn: Option<String>,
1844    /// is connected to app
1845    #[serde(
1846        rename = "isConnected",
1847        default,
1848        skip_serializing_if = "Option::is_none"
1849    )]
1850    pub is_connected: Option<bool>,
1851}
1852
1853/// `LocationAndAccountDeleteResponseDTO` from the GoHighLevel OpenAPI spec.
1854#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1855pub struct LocationAndAccountDeleteResponseDTO {
1856    /// Success or Failure
1857    /// Required by the API.
1858    /// (Optional here so responses that omit it still parse.)
1859    #[serde(default, skip_serializing_if = "Option::is_none")]
1860    pub success: Option<bool>,
1861    /// Status Code
1862    /// Required by the API.
1863    /// (Optional here so responses that omit it still parse.)
1864    #[serde(
1865        rename = "statusCode",
1866        default,
1867        skip_serializing_if = "Option::is_none"
1868    )]
1869    pub status_code: Option<f64>,
1870    /// Message
1871    /// Required by the API.
1872    /// (Optional here so responses that omit it still parse.)
1873    #[serde(default, skip_serializing_if = "Option::is_none")]
1874    pub message: Option<String>,
1875    /// Requested Results
1876    #[serde(default, skip_serializing_if = "Option::is_none")]
1877    pub results: Option<DeleteAccountResponseSchema>,
1878}
1879
1880/// `OgImageSchema` from the GoHighLevel OpenAPI spec.
1881#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1882pub struct OgImageSchema {
1883    /// Image url
1884    #[serde(default, skip_serializing_if = "Option::is_none")]
1885    pub url: Option<String>,
1886    /// Image width
1887    #[serde(default, skip_serializing_if = "Option::is_none")]
1888    pub width: Option<f64>,
1889    /// Image height
1890    #[serde(default, skip_serializing_if = "Option::is_none")]
1891    pub height: Option<f64>,
1892    /// Image Type
1893    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1894    pub type_: Option<String>,
1895}
1896
1897/// `OgTagsSchema` from the GoHighLevel OpenAPI spec.
1898#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1899pub struct OgTagsSchema {
1900    /// Meta Image
1901    #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
1902    pub meta_image: Option<String>,
1903    /// Meta Link
1904    #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
1905    pub meta_link: Option<String>,
1906}
1907
1908/// `PostApprovalSchema` from the GoHighLevel OpenAPI spec.
1909#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1910pub struct PostApprovalSchema {
1911    /// Approver
1912    #[serde(default, skip_serializing_if = "Option::is_none")]
1913    pub approver: Option<String>,
1914    /// Requester Notes
1915    #[serde(
1916        rename = "requesterNote",
1917        default,
1918        skip_serializing_if = "Option::is_none"
1919    )]
1920    pub requester_note: Option<String>,
1921    /// Approver Notes
1922    #[serde(
1923        rename = "approverNote",
1924        default,
1925        skip_serializing_if = "Option::is_none"
1926    )]
1927    pub approver_note: Option<String>,
1928    /// Approval Status must be one of the following values: pending, approved, rejected,
1929    /// not_required
1930    #[serde(
1931        rename = "approvalStatus",
1932        default,
1933        skip_serializing_if = "Option::is_none"
1934    )]
1935    pub approval_status: Option<serde_json::Value>,
1936}
1937
1938/// `PostCreateRequest` from the GoHighLevel OpenAPI spec.
1939#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1940pub struct PostCreateRequest {
1941    /// Account Ids
1942    #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
1943    pub account_ids: Vec<String>,
1944    /// Post Content The limitations of content as per the platforms is provided through the
1945    /// reference link in API description
1946    #[serde(default, skip_serializing_if = "Option::is_none")]
1947    pub summary: Option<String>,
1948    /// Post Media Data The limitations of media as per the platforms is provided through the
1949    /// reference link in API description
1950    #[serde(default, skip_serializing_if = "Vec::is_empty")]
1951    pub media: Vec<PostMediaSchema>,
1952    /// Status must be one of the following values: in_progress, draft, failed, published,
1953    /// scheduled, in_review, notification_sent, deleted
1954    #[serde(default, skip_serializing_if = "Option::is_none")]
1955    pub status: Option<serde_json::Value>,
1956    /// Schedule Date
1957    #[serde(
1958        rename = "scheduleDate",
1959        default,
1960        skip_serializing_if = "Option::is_none"
1961    )]
1962    pub schedule_date: Option<String>,
1963    /// Created By
1964    #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1965    pub created_by: Option<String>,
1966    /// Follow Up Comment on platform. It is not allowed on Tiktok and GMB accounts and there is
1967    /// a limit of 280 charecters for twitter account
1968    #[serde(
1969        rename = "followUpComment",
1970        default,
1971        skip_serializing_if = "Option::is_none"
1972    )]
1973    pub follow_up_comment: Option<String>,
1974    /// Og Tags Meta Data
1975    #[serde(
1976        rename = "ogTagsDetails",
1977        default,
1978        skip_serializing_if = "Option::is_none"
1979    )]
1980    pub og_tags_details: Option<OgTagsSchema>,
1981    /// Post Type must be one of the following values: - post, story, reel
1982    /// Required by the API.
1983    #[serde(rename = "type")]
1984    pub type_: serde_json::Value,
1985    /// Post Approval Details
1986    #[serde(
1987        rename = "postApprovalDetails",
1988        default,
1989        skip_serializing_if = "Option::is_none"
1990    )]
1991    pub post_approval_details: Option<PostApprovalSchema>,
1992    /// if schedule datetime is updated
1993    #[serde(
1994        rename = "scheduleTimeUpdated",
1995        default,
1996        skip_serializing_if = "Option::is_none"
1997    )]
1998    pub schedule_time_updated: Option<bool>,
1999    /// Array of Tag Value
2000    #[serde(default, skip_serializing_if = "Vec::is_empty")]
2001    pub tags: Vec<String>,
2002    /// Category Id
2003    #[serde(
2004        rename = "categoryId",
2005        default,
2006        skip_serializing_if = "Option::is_none"
2007    )]
2008    pub category_id: Option<String>,
2009    /// Tiktok Post Details
2010    #[serde(
2011        rename = "tiktokPostDetails",
2012        default,
2013        skip_serializing_if = "Option::is_none"
2014    )]
2015    pub tiktok_post_details: Option<TiktokPostSchema>,
2016    /// GMB Post Details
2017    #[serde(
2018        rename = "gmbPostDetails",
2019        default,
2020        skip_serializing_if = "Option::is_none"
2021    )]
2022    pub gmb_post_details: Option<GMBPostSchema>,
2023    /// User ID
2024    #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
2025    pub user_id: Option<String>,
2026}
2027
2028/// `PostMediaSchema` from the GoHighLevel OpenAPI spec.
2029#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2030pub struct PostMediaSchema {
2031    /// Required by the API.
2032    /// (Optional here so responses that omit it still parse.)
2033    #[serde(default, skip_serializing_if = "Option::is_none")]
2034    pub url: Option<String>,
2035    #[serde(default, skip_serializing_if = "Option::is_none")]
2036    pub caption: Option<String>,
2037    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2038    pub type_: Option<String>,
2039    #[serde(default, skip_serializing_if = "Option::is_none")]
2040    pub thumbnail: Option<String>,
2041    #[serde(
2042        rename = "defaultThumb",
2043        default,
2044        skip_serializing_if = "Option::is_none"
2045    )]
2046    pub default_thumb: Option<String>,
2047    #[serde(default, skip_serializing_if = "Option::is_none")]
2048    pub id: Option<String>,
2049}
2050
2051/// `PostSuccessfulResponseDTO` from the GoHighLevel OpenAPI spec.
2052#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2053pub struct PostSuccessfulResponseDTO {
2054    /// Success or Failure
2055    /// Required by the API.
2056    /// (Optional here so responses that omit it still parse.)
2057    #[serde(default, skip_serializing_if = "Option::is_none")]
2058    pub success: Option<bool>,
2059    /// Status Code
2060    /// Required by the API.
2061    /// (Optional here so responses that omit it still parse.)
2062    #[serde(
2063        rename = "statusCode",
2064        default,
2065        skip_serializing_if = "Option::is_none"
2066    )]
2067    pub status_code: Option<f64>,
2068    /// Message
2069    /// Required by the API.
2070    /// (Optional here so responses that omit it still parse.)
2071    #[serde(default, skip_serializing_if = "Option::is_none")]
2072    pub message: Option<String>,
2073    /// Requested Results
2074    #[serde(default, skip_serializing_if = "Option::is_none")]
2075    pub results: Option<PostSuccessfulResponseSchema>,
2076}
2077
2078/// `PostSuccessfulResponseSchema` from the GoHighLevel OpenAPI spec.
2079#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2080pub struct PostSuccessfulResponseSchema {
2081    /// Post Data
2082    #[serde(default, skip_serializing_if = "Vec::is_empty")]
2083    pub posts: Vec<GetPostFormattedSchema>,
2084    #[serde(default, skip_serializing_if = "Option::is_none")]
2085    pub count: Option<f64>,
2086}
2087
2088/// `PostUserSchema` from the GoHighLevel OpenAPI spec.
2089#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2090pub struct PostUserSchema {
2091    /// User Id
2092    /// Required by the API.
2093    /// (Optional here so responses that omit it still parse.)
2094    #[serde(default, skip_serializing_if = "Option::is_none")]
2095    pub id: Option<String>,
2096    /// Title
2097    /// Required by the API.
2098    /// (Optional here so responses that omit it still parse.)
2099    #[serde(default, skip_serializing_if = "Option::is_none")]
2100    pub title: Option<String>,
2101    /// First name
2102    /// Required by the API.
2103    /// (Optional here so responses that omit it still parse.)
2104    #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
2105    pub first_name: Option<String>,
2106    /// Last name
2107    /// Required by the API.
2108    /// (Optional here so responses that omit it still parse.)
2109    #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
2110    pub last_name: Option<String>,
2111    /// Profile photo
2112    /// Required by the API.
2113    /// (Optional here so responses that omit it still parse.)
2114    #[serde(
2115        rename = "profilePhoto",
2116        default,
2117        skip_serializing_if = "Option::is_none"
2118    )]
2119    pub profile_photo: Option<String>,
2120    /// Phone number
2121    /// Required by the API.
2122    /// (Optional here so responses that omit it still parse.)
2123    #[serde(default, skip_serializing_if = "Option::is_none")]
2124    pub phone: Option<String>,
2125    /// Email Id
2126    /// Required by the API.
2127    /// (Optional here so responses that omit it still parse.)
2128    #[serde(default, skip_serializing_if = "Option::is_none")]
2129    pub email: Option<String>,
2130}
2131
2132/// `SearchPostDTO` from the GoHighLevel OpenAPI spec.
2133#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2134pub struct SearchPostDTO {
2135    /// type must be one of the following values: recent, all, scheduled, draft, failed,
2136    /// in_review, published, in_progress and deleted
2137    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2138    pub type_: Option<String>,
2139    /// List of account Ids seperated by comma as a string
2140    #[serde(default, skip_serializing_if = "Option::is_none")]
2141    pub accounts: Option<String>,
2142    /// Required by the API.
2143    pub skip: String,
2144    /// Required by the API.
2145    pub limit: String,
2146    /// From Date
2147    /// Required by the API.
2148    #[serde(rename = "fromDate")]
2149    pub from_date: String,
2150    /// To Date
2151    /// Required by the API.
2152    #[serde(rename = "toDate")]
2153    pub to_date: String,
2154    /// Include User Data
2155    /// Required by the API.
2156    #[serde(rename = "includeUsers")]
2157    pub include_users: String,
2158    /// Post Type must be one of the following values: - post, story, reel
2159    #[serde(rename = "postType", default, skip_serializing_if = "Option::is_none")]
2160    pub post_type: Option<serde_json::Value>,
2161}
2162
2163/// `SetAccountsDTO` from the GoHighLevel OpenAPI spec.
2164#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2165pub struct SetAccountsDTO {
2166    /// Account Ids
2167    /// Required by the API.
2168    #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
2169    pub account_ids: Vec<String>,
2170    /// File path
2171    /// Required by the API.
2172    #[serde(rename = "filePath")]
2173    pub file_path: String,
2174    /// Entires Count. rowcCount must be between 1 and number of posts in CSV
2175    /// Required by the API.
2176    #[serde(rename = "rowsCount")]
2177    pub rows_count: f64,
2178    /// Name of file
2179    /// Required by the API.
2180    #[serde(rename = "fileName")]
2181    pub file_name: String,
2182    #[serde(default, skip_serializing_if = "Option::is_none")]
2183    pub approver: Option<String>,
2184    /// User ID
2185    #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
2186    pub user_id: Option<String>,
2187}
2188
2189/// `SetAccountsResponseDTO` from the GoHighLevel OpenAPI spec.
2190#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2191pub struct SetAccountsResponseDTO {
2192    /// Success or Failure
2193    /// Required by the API.
2194    /// (Optional here so responses that omit it still parse.)
2195    #[serde(default, skip_serializing_if = "Option::is_none")]
2196    pub success: Option<bool>,
2197    /// Status Code
2198    /// Required by the API.
2199    /// (Optional here so responses that omit it still parse.)
2200    #[serde(
2201        rename = "statusCode",
2202        default,
2203        skip_serializing_if = "Option::is_none"
2204    )]
2205    pub status_code: Option<f64>,
2206    /// Message
2207    /// Required by the API.
2208    /// (Optional here so responses that omit it still parse.)
2209    #[serde(default, skip_serializing_if = "Option::is_none")]
2210    pub message: Option<String>,
2211}
2212
2213/// `SocialGoogleMediaAccountSchema` from the GoHighLevel OpenAPI spec.
2214#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2215pub struct SocialGoogleMediaAccountSchema {
2216    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2217    pub id: Option<String>,
2218    #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2219    pub o_auth_id: Option<String>,
2220    #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2221    pub old_id: Option<String>,
2222    #[serde(
2223        rename = "locationId",
2224        default,
2225        skip_serializing_if = "Option::is_none"
2226    )]
2227    pub location_id: Option<String>,
2228    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2229    pub origin_id: Option<String>,
2230    #[serde(default, skip_serializing_if = "Option::is_none")]
2231    pub platform: Option<serde_json::Value>,
2232    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2233    pub type_: Option<serde_json::Value>,
2234    #[serde(default, skip_serializing_if = "Option::is_none")]
2235    pub name: Option<String>,
2236    #[serde(default, skip_serializing_if = "Option::is_none")]
2237    pub avatar: Option<String>,
2238    #[serde(default, skip_serializing_if = "Option::is_none")]
2239    pub meta: Option<serde_json::Value>,
2240    #[serde(default, skip_serializing_if = "Option::is_none")]
2241    pub active: Option<bool>,
2242    #[serde(default, skip_serializing_if = "Option::is_none")]
2243    pub deleted: Option<bool>,
2244    /// created date
2245    /// Format: date-time (ISO-8601 string).
2246    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2247    pub created_at: Option<String>,
2248    /// updated date
2249    /// Format: date-time (ISO-8601 string).
2250    #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2251    pub updated_at: Option<String>,
2252}
2253
2254/// `SocialMediaFBAccountResponseDTO` from the GoHighLevel OpenAPI spec.
2255#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2256pub struct SocialMediaFBAccountResponseDTO {
2257    /// Success or Failure
2258    /// Required by the API.
2259    /// (Optional here so responses that omit it still parse.)
2260    #[serde(default, skip_serializing_if = "Option::is_none")]
2261    pub success: Option<bool>,
2262    /// Status Code
2263    /// Required by the API.
2264    /// (Optional here so responses that omit it still parse.)
2265    #[serde(
2266        rename = "statusCode",
2267        default,
2268        skip_serializing_if = "Option::is_none"
2269    )]
2270    pub status_code: Option<f64>,
2271    /// Message
2272    /// Required by the API.
2273    /// (Optional here so responses that omit it still parse.)
2274    #[serde(default, skip_serializing_if = "Option::is_none")]
2275    pub message: Option<String>,
2276    /// Requested Results
2277    #[serde(default, skip_serializing_if = "Option::is_none")]
2278    pub results: Option<SocialMediaFacebookAccountSchema>,
2279}
2280
2281/// `SocialMediaFacebookAccountSchema` from the GoHighLevel OpenAPI spec.
2282#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2283pub struct SocialMediaFacebookAccountSchema {
2284    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2285    pub id: Option<String>,
2286    #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2287    pub o_auth_id: Option<String>,
2288    #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2289    pub old_id: Option<String>,
2290    #[serde(
2291        rename = "locationId",
2292        default,
2293        skip_serializing_if = "Option::is_none"
2294    )]
2295    pub location_id: Option<String>,
2296    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2297    pub origin_id: Option<String>,
2298    #[serde(default, skip_serializing_if = "Option::is_none")]
2299    pub platform: Option<serde_json::Value>,
2300    /// type value must be page
2301    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2302    pub type_: Option<serde_json::Value>,
2303    #[serde(default, skip_serializing_if = "Option::is_none")]
2304    pub name: Option<String>,
2305    #[serde(default, skip_serializing_if = "Option::is_none")]
2306    pub avatar: Option<String>,
2307    #[serde(default, skip_serializing_if = "Option::is_none")]
2308    pub meta: Option<serde_json::Value>,
2309    #[serde(default, skip_serializing_if = "Option::is_none")]
2310    pub active: Option<bool>,
2311    #[serde(default, skip_serializing_if = "Option::is_none")]
2312    pub deleted: Option<bool>,
2313    /// created date
2314    /// Format: date-time (ISO-8601 string).
2315    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2316    pub created_at: Option<String>,
2317    /// updated date
2318    /// Format: date-time (ISO-8601 string).
2319    #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2320    pub updated_at: Option<String>,
2321}
2322
2323/// `SocialMediaGmbAccountResponseDTO` from the GoHighLevel OpenAPI spec.
2324#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2325pub struct SocialMediaGmbAccountResponseDTO {
2326    /// Success or Failure
2327    /// Required by the API.
2328    /// (Optional here so responses that omit it still parse.)
2329    #[serde(default, skip_serializing_if = "Option::is_none")]
2330    pub success: Option<bool>,
2331    /// Status Code
2332    /// Required by the API.
2333    /// (Optional here so responses that omit it still parse.)
2334    #[serde(
2335        rename = "statusCode",
2336        default,
2337        skip_serializing_if = "Option::is_none"
2338    )]
2339    pub status_code: Option<f64>,
2340    /// Message
2341    /// Required by the API.
2342    /// (Optional here so responses that omit it still parse.)
2343    #[serde(default, skip_serializing_if = "Option::is_none")]
2344    pub message: Option<String>,
2345    /// Requested Results
2346    #[serde(default, skip_serializing_if = "Option::is_none")]
2347    pub results: Option<SocialGoogleMediaAccountSchema>,
2348}
2349
2350/// `SocialMediaInstagramAccountResponseDTO` from the GoHighLevel OpenAPI spec.
2351#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2352pub struct SocialMediaInstagramAccountResponseDTO {
2353    /// Success or Failure
2354    /// Required by the API.
2355    /// (Optional here so responses that omit it still parse.)
2356    #[serde(default, skip_serializing_if = "Option::is_none")]
2357    pub success: Option<bool>,
2358    /// Status Code
2359    /// Required by the API.
2360    /// (Optional here so responses that omit it still parse.)
2361    #[serde(
2362        rename = "statusCode",
2363        default,
2364        skip_serializing_if = "Option::is_none"
2365    )]
2366    pub status_code: Option<f64>,
2367    /// Message
2368    /// Required by the API.
2369    /// (Optional here so responses that omit it still parse.)
2370    #[serde(default, skip_serializing_if = "Option::is_none")]
2371    pub message: Option<String>,
2372    /// Requested Results
2373    #[serde(default, skip_serializing_if = "Option::is_none")]
2374    pub results: Option<SocialMediaInstagramAccountSchema>,
2375}
2376
2377/// `SocialMediaInstagramAccountSchema` from the GoHighLevel OpenAPI spec.
2378#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2379pub struct SocialMediaInstagramAccountSchema {
2380    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2381    pub id: Option<String>,
2382    #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2383    pub o_auth_id: Option<String>,
2384    #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2385    pub old_id: Option<String>,
2386    #[serde(
2387        rename = "locationId",
2388        default,
2389        skip_serializing_if = "Option::is_none"
2390    )]
2391    pub location_id: Option<String>,
2392    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2393    pub origin_id: Option<String>,
2394    #[serde(default, skip_serializing_if = "Option::is_none")]
2395    pub platform: Option<serde_json::Value>,
2396    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2397    pub type_: Option<serde_json::Value>,
2398    #[serde(default, skip_serializing_if = "Option::is_none")]
2399    pub name: Option<String>,
2400    #[serde(default, skip_serializing_if = "Option::is_none")]
2401    pub avatar: Option<String>,
2402    #[serde(default, skip_serializing_if = "Option::is_none")]
2403    pub meta: Option<serde_json::Value>,
2404    #[serde(default, skip_serializing_if = "Option::is_none")]
2405    pub active: Option<bool>,
2406    #[serde(default, skip_serializing_if = "Option::is_none")]
2407    pub deleted: Option<bool>,
2408    /// created date
2409    /// Format: date-time (ISO-8601 string).
2410    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2411    pub created_at: Option<String>,
2412    /// updated date
2413    /// Format: date-time (ISO-8601 string).
2414    #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2415    pub updated_at: Option<String>,
2416}
2417
2418/// `SocialMediaLinkedInAccountResponseDTO` from the GoHighLevel OpenAPI spec.
2419#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2420pub struct SocialMediaLinkedInAccountResponseDTO {
2421    /// Success or Failure
2422    /// Required by the API.
2423    /// (Optional here so responses that omit it still parse.)
2424    #[serde(default, skip_serializing_if = "Option::is_none")]
2425    pub success: Option<bool>,
2426    /// Status Code
2427    /// Required by the API.
2428    /// (Optional here so responses that omit it still parse.)
2429    #[serde(
2430        rename = "statusCode",
2431        default,
2432        skip_serializing_if = "Option::is_none"
2433    )]
2434    pub status_code: Option<f64>,
2435    /// Message
2436    /// Required by the API.
2437    /// (Optional here so responses that omit it still parse.)
2438    #[serde(default, skip_serializing_if = "Option::is_none")]
2439    pub message: Option<String>,
2440    /// Requested Results
2441    #[serde(default, skip_serializing_if = "Option::is_none")]
2442    pub results: Option<SocialMediaLinkedInAccountSchema>,
2443}
2444
2445/// `SocialMediaLinkedInAccountSchema` from the GoHighLevel OpenAPI spec.
2446#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2447pub struct SocialMediaLinkedInAccountSchema {
2448    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2449    pub id: Option<String>,
2450    #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2451    pub o_auth_id: Option<String>,
2452    #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2453    pub old_id: Option<String>,
2454    #[serde(
2455        rename = "locationId",
2456        default,
2457        skip_serializing_if = "Option::is_none"
2458    )]
2459    pub location_id: Option<String>,
2460    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2461    pub origin_id: Option<String>,
2462    #[serde(default, skip_serializing_if = "Option::is_none")]
2463    pub platform: Option<serde_json::Value>,
2464    /// type must be one of the following values: page, profile
2465    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2466    pub type_: Option<serde_json::Value>,
2467    #[serde(default, skip_serializing_if = "Option::is_none")]
2468    pub name: Option<String>,
2469    #[serde(default, skip_serializing_if = "Option::is_none")]
2470    pub avatar: Option<String>,
2471    #[serde(default, skip_serializing_if = "Option::is_none")]
2472    pub meta: Option<serde_json::Value>,
2473    #[serde(default, skip_serializing_if = "Option::is_none")]
2474    pub active: Option<bool>,
2475    #[serde(default, skip_serializing_if = "Option::is_none")]
2476    pub deleted: Option<bool>,
2477    /// created date
2478    /// Format: date-time (ISO-8601 string).
2479    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2480    pub created_at: Option<String>,
2481    /// updated date
2482    /// Format: date-time (ISO-8601 string).
2483    #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2484    pub updated_at: Option<String>,
2485}
2486
2487/// `SocialMediaTagSchema` from the GoHighLevel OpenAPI spec.
2488#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2489pub struct SocialMediaTagSchema {
2490    /// Tag Name
2491    #[serde(default, skip_serializing_if = "Option::is_none")]
2492    pub tag: Option<String>,
2493    /// Location Id
2494    #[serde(
2495        rename = "locationId",
2496        default,
2497        skip_serializing_if = "Option::is_none"
2498    )]
2499    pub location_id: Option<String>,
2500    /// ID
2501    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2502    pub id: Option<String>,
2503    /// Created By User Id
2504    #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2505    pub created_by: Option<String>,
2506    /// Deleted boolean value
2507    #[serde(default, skip_serializing_if = "Option::is_none")]
2508    pub deleted: Option<bool>,
2509    /// Format: date-time (ISO-8601 string).
2510    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2511    pub created_at: Option<String>,
2512    /// Format: date-time (ISO-8601 string).
2513    #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2514    pub updated_at: Option<String>,
2515}
2516
2517/// `SocialMediaTiktokAccountResponseDTO` from the GoHighLevel OpenAPI spec.
2518#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2519pub struct SocialMediaTiktokAccountResponseDTO {
2520    /// Success or Failure
2521    /// Required by the API.
2522    /// (Optional here so responses that omit it still parse.)
2523    #[serde(default, skip_serializing_if = "Option::is_none")]
2524    pub success: Option<bool>,
2525    /// Status Code
2526    /// Required by the API.
2527    /// (Optional here so responses that omit it still parse.)
2528    #[serde(
2529        rename = "statusCode",
2530        default,
2531        skip_serializing_if = "Option::is_none"
2532    )]
2533    pub status_code: Option<f64>,
2534    /// Message
2535    /// Required by the API.
2536    /// (Optional here so responses that omit it still parse.)
2537    #[serde(default, skip_serializing_if = "Option::is_none")]
2538    pub message: Option<String>,
2539    /// Requested Results
2540    #[serde(default, skip_serializing_if = "Option::is_none")]
2541    pub results: Option<SocialMediaTiktokAccountSchema>,
2542}
2543
2544/// `SocialMediaTiktokAccountSchema` from the GoHighLevel OpenAPI spec.
2545#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2546pub struct SocialMediaTiktokAccountSchema {
2547    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2548    pub id: Option<String>,
2549    #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2550    pub o_auth_id: Option<String>,
2551    #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2552    pub old_id: Option<String>,
2553    #[serde(
2554        rename = "locationId",
2555        default,
2556        skip_serializing_if = "Option::is_none"
2557    )]
2558    pub location_id: Option<String>,
2559    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2560    pub origin_id: Option<String>,
2561    #[serde(default, skip_serializing_if = "Option::is_none")]
2562    pub platform: Option<serde_json::Value>,
2563    /// type must be one of the following values: profile, business
2564    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2565    pub type_: Option<serde_json::Value>,
2566    #[serde(default, skip_serializing_if = "Option::is_none")]
2567    pub name: Option<String>,
2568    #[serde(default, skip_serializing_if = "Option::is_none")]
2569    pub avatar: Option<String>,
2570    #[serde(default, skip_serializing_if = "Option::is_none")]
2571    pub meta: Option<serde_json::Value>,
2572    #[serde(default, skip_serializing_if = "Option::is_none")]
2573    pub active: Option<bool>,
2574    #[serde(default, skip_serializing_if = "Option::is_none")]
2575    pub deleted: Option<bool>,
2576    /// created date
2577    /// Format: date-time (ISO-8601 string).
2578    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2579    pub created_at: Option<String>,
2580    /// updated date
2581    /// Format: date-time (ISO-8601 string).
2582    #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2583    pub updated_at: Option<String>,
2584}
2585
2586/// `SocialMediaTwitterAccountResponseDTO` from the GoHighLevel OpenAPI spec.
2587#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2588pub struct SocialMediaTwitterAccountResponseDTO {
2589    /// Success or Failure
2590    /// Required by the API.
2591    /// (Optional here so responses that omit it still parse.)
2592    #[serde(default, skip_serializing_if = "Option::is_none")]
2593    pub success: Option<bool>,
2594    /// Status Code
2595    /// Required by the API.
2596    /// (Optional here so responses that omit it still parse.)
2597    #[serde(
2598        rename = "statusCode",
2599        default,
2600        skip_serializing_if = "Option::is_none"
2601    )]
2602    pub status_code: Option<f64>,
2603    /// Message
2604    /// Required by the API.
2605    /// (Optional here so responses that omit it still parse.)
2606    #[serde(default, skip_serializing_if = "Option::is_none")]
2607    pub message: Option<String>,
2608    /// Requested Results
2609    #[serde(default, skip_serializing_if = "Option::is_none")]
2610    pub results: Option<SocialMediaTwitterAccountSchema>,
2611}
2612
2613/// `SocialMediaTwitterAccountSchema` from the GoHighLevel OpenAPI spec.
2614#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2615pub struct SocialMediaTwitterAccountSchema {
2616    #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2617    pub id: Option<String>,
2618    #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2619    pub o_auth_id: Option<String>,
2620    #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2621    pub old_id: Option<String>,
2622    #[serde(
2623        rename = "locationId",
2624        default,
2625        skip_serializing_if = "Option::is_none"
2626    )]
2627    pub location_id: Option<String>,
2628    #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2629    pub origin_id: Option<String>,
2630    #[serde(default, skip_serializing_if = "Option::is_none")]
2631    pub platform: Option<serde_json::Value>,
2632    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2633    pub type_: Option<serde_json::Value>,
2634    #[serde(default, skip_serializing_if = "Option::is_none")]
2635    pub name: Option<String>,
2636    #[serde(default, skip_serializing_if = "Option::is_none")]
2637    pub avatar: Option<String>,
2638    #[serde(default, skip_serializing_if = "Option::is_none")]
2639    pub meta: Option<serde_json::Value>,
2640    #[serde(default, skip_serializing_if = "Option::is_none")]
2641    pub active: Option<bool>,
2642    #[serde(default, skip_serializing_if = "Option::is_none")]
2643    pub deleted: Option<bool>,
2644    /// created date
2645    /// Format: date-time (ISO-8601 string).
2646    #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2647    pub created_at: Option<String>,
2648    /// updated date
2649    /// Format: date-time (ISO-8601 string).
2650    #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2651    pub updated_at: Option<String>,
2652}
2653
2654/// `StartDateSchema` from the GoHighLevel OpenAPI spec.
2655#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2656pub struct StartDateSchema {
2657    /// Start Date
2658    #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
2659    pub start_date: Option<DateSchema>,
2660    /// Start Time
2661    #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
2662    pub start_time: Option<TimeSchema>,
2663}
2664
2665/// `TiktokPostSchema` from the GoHighLevel OpenAPI spec.
2666#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2667pub struct TiktokPostSchema {
2668    /// privacy level is an enum and must be one of the following values: PUBLIC_TO_EVERYONE,
2669    /// MUTUAL_FOLLOW_FRIENDS, SELF_ONLY
2670    #[serde(
2671        rename = "privacyLevel",
2672        default,
2673        skip_serializing_if = "Option::is_none"
2674    )]
2675    pub privacy_level: Option<serde_json::Value>,
2676    /// promote other brand
2677    #[serde(
2678        rename = "promoteOtherBrand",
2679        default,
2680        skip_serializing_if = "Option::is_none"
2681    )]
2682    pub promote_other_brand: Option<bool>,
2683    /// enable comment
2684    #[serde(
2685        rename = "enableComment",
2686        default,
2687        skip_serializing_if = "Option::is_none"
2688    )]
2689    pub enable_comment: Option<bool>,
2690    /// enable duet
2691    #[serde(
2692        rename = "enableDuet",
2693        default,
2694        skip_serializing_if = "Option::is_none"
2695    )]
2696    pub enable_duet: Option<bool>,
2697    /// enable stitch
2698    #[serde(
2699        rename = "enableStitch",
2700        default,
2701        skip_serializing_if = "Option::is_none"
2702    )]
2703    pub enable_stitch: Option<bool>,
2704    /// video disclosure
2705    #[serde(
2706        rename = "videoDisclosure",
2707        default,
2708        skip_serializing_if = "Option::is_none"
2709    )]
2710    pub video_disclosure: Option<bool>,
2711    /// promote your brand
2712    #[serde(
2713        rename = "promoteYourBrand",
2714        default,
2715        skip_serializing_if = "Option::is_none"
2716    )]
2717    pub promote_your_brand: Option<bool>,
2718}
2719
2720/// `TiktokProfileSchema` from the GoHighLevel OpenAPI spec.
2721#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2722pub struct TiktokProfileSchema {
2723    /// Id
2724    #[serde(default, skip_serializing_if = "Option::is_none")]
2725    pub id: Option<String>,
2726    /// Name of account
2727    #[serde(default, skip_serializing_if = "Option::is_none")]
2728    pub name: Option<String>,
2729    /// Username of account
2730    #[serde(default, skip_serializing_if = "Option::is_none")]
2731    pub username: Option<String>,
2732    /// Avatar of profile account
2733    #[serde(default, skip_serializing_if = "Option::is_none")]
2734    pub avatar: Option<String>,
2735    /// Is verified
2736    #[serde(default, skip_serializing_if = "Option::is_none")]
2737    pub verified: Option<bool>,
2738    /// Is connected
2739    #[serde(
2740        rename = "isConnected",
2741        default,
2742        skip_serializing_if = "Option::is_none"
2743    )]
2744    pub is_connected: Option<bool>,
2745    /// Tiktok Account Type must be one of the following values: business, profile
2746    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2747    pub type_: Option<serde_json::Value>,
2748}
2749
2750/// `TimeSchema` from the GoHighLevel OpenAPI spec.
2751#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2752pub struct TimeSchema {
2753    /// Required by the API.
2754    /// (Optional here so responses that omit it still parse.)
2755    #[serde(default, skip_serializing_if = "Option::is_none")]
2756    pub hours: Option<f64>,
2757    /// Required by the API.
2758    /// (Optional here so responses that omit it still parse.)
2759    #[serde(default, skip_serializing_if = "Option::is_none")]
2760    pub minutes: Option<f64>,
2761    /// Required by the API.
2762    /// (Optional here so responses that omit it still parse.)
2763    #[serde(default, skip_serializing_if = "Option::is_none")]
2764    pub seconds: Option<f64>,
2765}
2766
2767/// `TwitterProfileSchema` from the GoHighLevel OpenAPI spec.
2768#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2769pub struct TwitterProfileSchema {
2770    /// ID of profile
2771    #[serde(default, skip_serializing_if = "Option::is_none")]
2772    pub id: Option<String>,
2773    /// Name of profile
2774    #[serde(default, skip_serializing_if = "Option::is_none")]
2775    pub name: Option<String>,
2776    /// Username of profile
2777    #[serde(default, skip_serializing_if = "Option::is_none")]
2778    pub username: Option<String>,
2779    /// Avatar of profile
2780    #[serde(default, skip_serializing_if = "Option::is_none")]
2781    pub avatar: Option<String>,
2782    /// Is protected
2783    #[serde(default, skip_serializing_if = "Option::is_none")]
2784    pub protected: Option<bool>,
2785    /// Is verified
2786    #[serde(default, skip_serializing_if = "Option::is_none")]
2787    pub verified: Option<bool>,
2788    /// Is connected
2789    #[serde(
2790        rename = "isConnected",
2791        default,
2792        skip_serializing_if = "Option::is_none"
2793    )]
2794    pub is_connected: Option<bool>,
2795}
2796
2797/// `UpdatePostSuccessfulResponseDTO` from the GoHighLevel OpenAPI spec.
2798#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2799pub struct UpdatePostSuccessfulResponseDTO {
2800    /// Success or Failure
2801    /// Required by the API.
2802    /// (Optional here so responses that omit it still parse.)
2803    #[serde(default, skip_serializing_if = "Option::is_none")]
2804    pub success: Option<bool>,
2805    /// Status Code
2806    /// Required by the API.
2807    /// (Optional here so responses that omit it still parse.)
2808    #[serde(
2809        rename = "statusCode",
2810        default,
2811        skip_serializing_if = "Option::is_none"
2812    )]
2813    pub status_code: Option<f64>,
2814    /// Message
2815    /// Required by the API.
2816    /// (Optional here so responses that omit it still parse.)
2817    #[serde(default, skip_serializing_if = "Option::is_none")]
2818    pub message: Option<String>,
2819}
2820
2821/// `UpdateTagDTO` from the GoHighLevel OpenAPI spec.
2822#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2823pub struct UpdateTagDTO {
2824    /// Array of Tag Ids
2825    /// Required by the API.
2826    #[serde(rename = "tagIds", default, skip_serializing_if = "Vec::is_empty")]
2827    pub tag_ids: Vec<String>,
2828}
2829
2830/// `UploadCSVDTO` from the GoHighLevel OpenAPI spec.
2831#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2832pub struct UploadCSVDTO {
2833    #[serde(default, skip_serializing_if = "Option::is_none")]
2834    pub file: Option<String>,
2835}
2836
2837/// `UploadFileResponseDTO` from the GoHighLevel OpenAPI spec.
2838#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2839pub struct UploadFileResponseDTO {
2840    /// Success or Failure
2841    /// Required by the API.
2842    /// (Optional here so responses that omit it still parse.)
2843    #[serde(default, skip_serializing_if = "Option::is_none")]
2844    pub success: Option<bool>,
2845    /// Status Code
2846    /// Required by the API.
2847    /// (Optional here so responses that omit it still parse.)
2848    #[serde(
2849        rename = "statusCode",
2850        default,
2851        skip_serializing_if = "Option::is_none"
2852    )]
2853    pub status_code: Option<f64>,
2854    /// Message
2855    /// Required by the API.
2856    /// (Optional here so responses that omit it still parse.)
2857    #[serde(default, skip_serializing_if = "Option::is_none")]
2858    pub message: Option<String>,
2859    /// Requested Results
2860    #[serde(default, skip_serializing_if = "Option::is_none")]
2861    pub results: Option<UploadFileResponseSchema>,
2862}
2863
2864/// `UploadFileResponseSchema` from the GoHighLevel OpenAPI spec.
2865#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2866pub struct UploadFileResponseSchema {
2867    #[serde(rename = "filePath", default, skip_serializing_if = "Option::is_none")]
2868    pub file_path: Option<String>,
2869    #[serde(rename = "rowsCount", default, skip_serializing_if = "Option::is_none")]
2870    pub rows_count: Option<f64>,
2871    #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
2872    pub file_name: Option<String>,
2873}