ghl_models/v3/knowledge_base.rs
1// @generated by xtask/generate_models.py — do not edit by hand.
2// Source: https://github.com/GoHighLevel/highlevel-api-docs
3// Doc comments are HighLevel's own field descriptions, reflowed verbatim, so
4// they aren't held to rustdoc's markdown conventions.
5#![allow(
6 missing_docs,
7 clippy::doc_lazy_continuation,
8 clippy::doc_overindented_list_items
9)]
10
11use serde::{Deserialize, Serialize};
12
13/// `AddFaqDTO` from the GoHighLevel OpenAPI spec.
14#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15pub struct AddFaqDTO {
16 /// location ID as string
17 /// Required by the API.
18 #[serde(rename = "locationId")]
19 pub location_id: String,
20 /// faq question as a string
21 /// Required by the API.
22 pub question: String,
23 /// faq answer as a string
24 /// Required by the API.
25 pub answer: String,
26 /// knowledge base ID as string
27 /// Required by the API.
28 #[serde(rename = "knowledgeBaseId")]
29 pub knowledge_base_id: String,
30}
31
32/// `BadRequestDTO` from the GoHighLevel OpenAPI spec.
33#[derive(Debug, Clone, Default, Serialize, Deserialize)]
34pub struct BadRequestDTO {
35 #[serde(
36 rename = "statusCode",
37 default,
38 skip_serializing_if = "Option::is_none"
39 )]
40 pub status_code: Option<f64>,
41 #[serde(default, skip_serializing_if = "Option::is_none")]
42 pub message: Option<String>,
43}
44
45/// `CrawledUrlDTO` from the GoHighLevel OpenAPI spec.
46#[derive(Debug, Clone, Default, Serialize, Deserialize)]
47pub struct CrawledUrlDTO {
48 /// Unique identifier for the URL
49 /// Required by the API.
50 pub id: String,
51 /// The actual URL that was crawled
52 /// Required by the API.
53 pub url: String,
54 /// Title of the webpage
55 /// Required by the API.
56 pub title: String,
57 /// Current processing status of the URL
58 /// Allowed values: `Pending`, `Processing`, `Successful`, `Failed`, `Existing`,
59 /// `Restricted`, `Cancelled`, `Aborted`, `Training`.
60 /// Required by the API.
61 pub status: String,
62 /// Location ID associated with this URL
63 /// Required by the API.
64 #[serde(rename = "locationId")]
65 pub location_id: String,
66 /// Knowledge base ID this URL belongs to
67 /// Required by the API.
68 #[serde(rename = "knowledgeBaseId")]
69 pub knowledge_base_id: String,
70 /// URL to the stored content file
71 /// Required by the API.
72 pub content: String,
73 /// Whether the content was edited by user
74 /// Required by the API.
75 #[serde(rename = "contentEditedByUser")]
76 pub content_edited_by_user: bool,
77 /// Last updated timestamp
78 /// Required by the API.
79 #[serde(rename = "updatedAt")]
80 pub updated_at: String,
81}
82
83/// `CrawlingAggregateDTO` from the GoHighLevel OpenAPI spec.
84#[derive(Debug, Clone, Default, Serialize, Deserialize)]
85pub struct CrawlingAggregateDTO {
86 /// Status grouping identifier
87 /// Allowed values: `Pending`, `Processing`, `Successful`, `Failed`, `Existing`,
88 /// `Restricted`, `Cancelled`, `Aborted`, `Training`.
89 /// Required by the API.
90 #[serde(rename = "_id")]
91 pub id: String,
92 /// Array of records for this status
93 /// Required by the API.
94 #[serde(default, skip_serializing_if = "Vec::is_empty")]
95 pub records: Vec<CrawlingRecordDTO>,
96}
97
98/// `CrawlingRecordDTO` from the GoHighLevel OpenAPI spec.
99#[derive(Debug, Clone, Default, Serialize, Deserialize)]
100pub struct CrawlingRecordDTO {
101 /// URL being crawled
102 /// Required by the API.
103 pub url: String,
104 /// Unique record identifier
105 /// Required by the API.
106 pub id: String,
107 /// Page title (for successful/pending records)
108 #[serde(default, skip_serializing_if = "Option::is_none")]
109 pub title: Option<String>,
110 /// Error details (for failed records)
111 #[serde(default, skip_serializing_if = "Option::is_none")]
112 pub error: Option<ErrorDetailsDTO>,
113}
114
115/// `CrawlingStatusDataDTO` from the GoHighLevel OpenAPI spec.
116#[derive(Debug, Clone, Default, Serialize, Deserialize)]
117pub struct CrawlingStatusDataDTO {
118 /// Aggregated crawling results by status
119 /// Required by the API.
120 #[serde(default, skip_serializing_if = "Vec::is_empty")]
121 pub aggregate: Vec<CrawlingAggregateDTO>,
122 /// Detailed operation information
123 /// Required by the API.
124 #[serde(rename = "operationDetails")]
125 pub operation_details: OperationDetailsDTO,
126}
127
128/// `CrawlingStatusResponseDTO` from the GoHighLevel OpenAPI spec.
129#[derive(Debug, Clone, Default, Serialize, Deserialize)]
130pub struct CrawlingStatusResponseDTO {
131 /// Indicates if the operation was successful
132 /// Required by the API.
133 pub success: bool,
134 /// Detailed crawling status data
135 /// Required by the API.
136 pub data: CrawlingStatusDataDTO,
137}
138
139/// `CreateFaqResponseDTO` from the GoHighLevel OpenAPI spec.
140#[derive(Debug, Clone, Default, Serialize, Deserialize)]
141pub struct CreateFaqResponseDTO {
142 /// Success status of the operation
143 /// Required by the API.
144 pub success: bool,
145 /// Created FAQ details
146 /// Required by the API.
147 pub faq: FaqResponseDTO,
148}
149
150/// `CreateKnowledgeBaseDTO` from the GoHighLevel OpenAPI spec.
151#[derive(Debug, Clone, Default, Serialize, Deserialize)]
152pub struct CreateKnowledgeBaseDTO {
153 /// Required by the API.
154 pub name: String,
155 #[serde(default, skip_serializing_if = "Option::is_none")]
156 pub description: Option<String>,
157 /// Required by the API.
158 #[serde(rename = "locationId")]
159 pub location_id: String,
160}
161
162/// `CreateKnowledgeBaseResponseDTO` from the GoHighLevel OpenAPI spec.
163#[derive(Debug, Clone, Default, Serialize, Deserialize)]
164pub struct CreateKnowledgeBaseResponseDTO {
165 /// Success status of the operation
166 /// Required by the API.
167 pub success: bool,
168 /// Created knowledge base details
169 /// Required by the API.
170 pub data: KnowledgeBaseDataDTO,
171}
172
173/// `DeleteFaqResponseDTO` from the GoHighLevel OpenAPI spec.
174#[derive(Debug, Clone, Default, Serialize, Deserialize)]
175pub struct DeleteFaqResponseDTO {
176 /// Success status of the delete operation
177 /// Required by the API.
178 pub success: bool,
179}
180
181/// `DeleteKnowledgeBaseResponseDTO` from the GoHighLevel OpenAPI spec.
182#[derive(Debug, Clone, Default, Serialize, Deserialize)]
183pub struct DeleteKnowledgeBaseResponseDTO {
184 /// Required by the API.
185 pub success: bool,
186}
187
188/// `DeleteWebsiteUrlRequestDTO` from the GoHighLevel OpenAPI spec.
189#[derive(Debug, Clone, Default, Serialize, Deserialize)]
190pub struct DeleteWebsiteUrlRequestDTO {
191 /// knowledge base ID as string
192 /// Required by the API.
193 #[serde(rename = "knowledgeBaseId")]
194 pub knowledge_base_id: String,
195 /// location ID as string
196 /// Required by the API.
197 #[serde(rename = "locationId")]
198 pub location_id: String,
199 /// List of trained urls ids ( fetched from the Get all trained page links by knowledge base
200 /// endpoint)
201 /// Required by the API.
202 #[serde(rename = "urlIds", default, skip_serializing_if = "Vec::is_empty")]
203 pub url_ids: Vec<String>,
204}
205
206/// `DeleteWebsiteUrlResponseDTO` from the GoHighLevel OpenAPI spec.
207#[derive(Debug, Clone, Default, Serialize, Deserialize)]
208pub struct DeleteWebsiteUrlResponseDTO {
209 /// Indicates if the operation was successful
210 /// Required by the API.
211 pub success: bool,
212}
213
214/// `DiscoverWebsiteDataDTO` from the GoHighLevel OpenAPI spec.
215#[derive(Debug, Clone, Default, Serialize, Deserialize)]
216pub struct DiscoverWebsiteDataDTO {
217 /// Operation ID for tracking the discovery process
218 /// Required by the API.
219 #[serde(rename = "operationId")]
220 pub operation_id: String,
221 /// Current status of the website discovery operation
222 /// Allowed values: `Pending`, `Processing`, `Successful`, `Failed`, `Existing`,
223 /// `Restricted`, `Cancelled`, `Aborted`, `Training`.
224 /// Required by the API.
225 pub status: String,
226 /// The URL being discovered/crawled
227 /// Required by the API.
228 pub url: String,
229}
230
231/// `DiscoverWebsiteRequestDTO` from the GoHighLevel OpenAPI spec.
232#[derive(Debug, Clone, Default, Serialize, Deserialize)]
233pub struct DiscoverWebsiteRequestDTO {
234 /// Location ID as string
235 /// Required by the API.
236 #[serde(rename = "locationId")]
237 pub location_id: String,
238 /// Website URL as string
239 /// Required by the API.
240 pub url: String,
241 /// Mode as string
242 /// Allowed values: `Exact`, `Path`, `Domain`.
243 /// Required by the API.
244 pub option: String,
245 /// knowledge base ID as string
246 /// Required by the API.
247 #[serde(rename = "knowledgeBaseId")]
248 pub knowledge_base_id: String,
249}
250
251/// `DiscoverWebsiteResponseDTO` from the GoHighLevel OpenAPI spec.
252#[derive(Debug, Clone, Default, Serialize, Deserialize)]
253pub struct DiscoverWebsiteResponseDTO {
254 /// Indicates if the operation was successful
255 /// Required by the API.
256 pub success: bool,
257 /// Data containing operation details
258 /// Required by the API.
259 pub data: DiscoverWebsiteDataDTO,
260}
261
262/// `ErrorDetailsDTO` from the GoHighLevel OpenAPI spec.
263#[derive(Debug, Clone, Default, Serialize, Deserialize)]
264pub struct ErrorDetailsDTO {
265 /// Error stack trace
266 /// Required by the API.
267 pub stack: String,
268 /// Error response message
269 /// Required by the API.
270 pub response: String,
271 /// HTTP status code
272 /// Required by the API.
273 pub status: f64,
274 /// Additional options (nullable)
275 #[serde(default, skip_serializing_if = "Option::is_none")]
276 pub options: Option<serde_json::Value>,
277 /// Error message
278 /// Required by the API.
279 pub message: String,
280 /// Error name/type
281 /// Required by the API.
282 pub name: String,
283}
284
285/// `FaqResponseDTO` from the GoHighLevel OpenAPI spec.
286#[derive(Debug, Clone, Default, Serialize, Deserialize)]
287pub struct FaqResponseDTO {
288 /// FAQ ID as string
289 /// Required by the API.
290 pub id: String,
291 /// FAQ question
292 /// Required by the API.
293 pub question: String,
294 /// FAQ question in lowercase
295 /// Required by the API.
296 #[serde(rename = "questionLowerCase")]
297 pub question_lower_case: String,
298 /// FAQ answer
299 /// Required by the API.
300 pub answer: String,
301 /// Knowledge base ID
302 /// Required by the API.
303 #[serde(rename = "knowledgeBaseId")]
304 pub knowledge_base_id: String,
305 /// Location ID
306 /// Required by the API.
307 #[serde(rename = "locationId")]
308 pub location_id: String,
309 /// Trained URL ID
310 /// Required by the API.
311 #[serde(rename = "trainedUrlId")]
312 pub trained_url_id: String,
313 /// Whether the FAQ is deleted
314 /// Required by the API.
315 pub deleted: bool,
316 /// Date when FAQ was created
317 /// Required by the API.
318 #[serde(rename = "createdAt")]
319 pub created_at: String,
320 /// Date when FAQ was last updated
321 /// Required by the API.
322 #[serde(rename = "updatedAt")]
323 pub updated_at: String,
324}
325
326/// `GetAllKnowledgeBasesPaginatedDataDTO` from the GoHighLevel OpenAPI spec.
327#[derive(Debug, Clone, Default, Serialize, Deserialize)]
328pub struct GetAllKnowledgeBasesPaginatedDataDTO {
329 /// Array of knowledge bases
330 /// Required by the API.
331 #[serde(
332 rename = "knowledgeBases",
333 default,
334 skip_serializing_if = "Vec::is_empty"
335 )]
336 pub knowledge_bases: Vec<KnowledgeBaseListItemDTO>,
337 /// Total count of all active knowledge bases
338 /// Required by the API.
339 #[serde(rename = "activeCount")]
340 pub active_count: f64,
341 /// Whether there are more knowledge bases available
342 /// Required by the API.
343 #[serde(rename = "hasMore")]
344 pub has_more: bool,
345 /// ID of the last knowledge base in this page (use for next page request)
346 #[serde(
347 rename = "lastKnowledgeBaseId",
348 default,
349 skip_serializing_if = "Option::is_none"
350 )]
351 pub last_knowledge_base_id: Option<String>,
352}
353
354/// `GetAllKnowledgeBasesPaginatedResponseDTO` from the GoHighLevel OpenAPI spec.
355#[derive(Debug, Clone, Default, Serialize, Deserialize)]
356pub struct GetAllKnowledgeBasesPaginatedResponseDTO {
357 /// Success status of the operation
358 /// Required by the API.
359 pub success: bool,
360 /// Paginated knowledge bases data
361 /// Required by the API.
362 pub data: GetAllKnowledgeBasesPaginatedDataDTO,
363}
364
365/// `GetAllUrlsByKnowledgeBaseResponseDTO` from the GoHighLevel OpenAPI spec.
366#[derive(Debug, Clone, Default, Serialize, Deserialize)]
367pub struct GetAllUrlsByKnowledgeBaseResponseDTO {
368 /// Total count of URLs in the knowledge base
369 /// Required by the API.
370 pub count: f64,
371 /// Array of crawled URLs with their details
372 /// Required by the API.
373 #[serde(default, skip_serializing_if = "Vec::is_empty")]
374 pub urls: Vec<CrawledUrlDTO>,
375}
376
377/// `GetKnowledgeBaseByIdDataDTO` from the GoHighLevel OpenAPI spec.
378#[derive(Debug, Clone, Default, Serialize, Deserialize)]
379pub struct GetKnowledgeBaseByIdDataDTO {
380 /// Knowledge base ID
381 /// Required by the API.
382 pub id: String,
383 /// Knowledge base name
384 /// Required by the API.
385 pub name: String,
386 /// Knowledge base name in lowercase
387 /// Required by the API.
388 #[serde(rename = "nameLowerCase")]
389 pub name_lower_case: String,
390 /// Location ID
391 /// Required by the API.
392 #[serde(rename = "locationId")]
393 pub location_id: String,
394 /// Whether the knowledge base is deleted
395 /// Required by the API.
396 pub deleted: bool,
397 /// Date when knowledge base was created
398 /// Required by the API.
399 #[serde(rename = "createdAt")]
400 pub created_at: String,
401 /// Date when knowledge base was last updated
402 /// Required by the API.
403 #[serde(rename = "updatedAt")]
404 pub updated_at: String,
405 /// Knowledge base metadata with content counts
406 /// Required by the API.
407 #[serde(rename = "kbMetadata")]
408 pub kb_metadata: KnowledgeBaseMetadataDTO,
409 /// Whether the knowledge base is default or not
410 #[serde(rename = "isDefault", default, skip_serializing_if = "Option::is_none")]
411 pub is_default: Option<bool>,
412}
413
414/// `GetKnowledgeBaseByIdResponseDTO` from the GoHighLevel OpenAPI spec.
415#[derive(Debug, Clone, Default, Serialize, Deserialize)]
416pub struct GetKnowledgeBaseByIdResponseDTO {
417 /// Success status of the operation
418 /// Required by the API.
419 pub success: bool,
420 /// Knowledge base details
421 /// Required by the API.
422 pub data: GetKnowledgeBaseByIdDataDTO,
423}
424
425/// `InternalServerErrorDTO` from the GoHighLevel OpenAPI spec.
426#[derive(Debug, Clone, Default, Serialize, Deserialize)]
427pub struct InternalServerErrorDTO {
428 #[serde(
429 rename = "statusCode",
430 default,
431 skip_serializing_if = "Option::is_none"
432 )]
433 pub status_code: Option<f64>,
434 #[serde(default, skip_serializing_if = "Option::is_none")]
435 pub message: Option<String>,
436}
437
438/// `KnowledgeBaseDataDTO` from the GoHighLevel OpenAPI spec.
439#[derive(Debug, Clone, Default, Serialize, Deserialize)]
440pub struct KnowledgeBaseDataDTO {
441 /// Knowledge base ID
442 /// Required by the API.
443 pub id: String,
444 /// Knowledge base name
445 /// Required by the API.
446 pub name: String,
447 /// Knowledge base name in lowercase
448 /// Required by the API.
449 #[serde(rename = "nameLowerCase")]
450 pub name_lower_case: String,
451 /// Location ID
452 /// Required by the API.
453 #[serde(rename = "locationId")]
454 pub location_id: String,
455 /// Knowledge base metadata
456 /// Required by the API.
457 #[serde(rename = "kbMetadata")]
458 pub kb_metadata: serde_json::Value,
459 /// Whether the knowledge base is deleted
460 /// Required by the API.
461 pub deleted: bool,
462 /// Date when knowledge base was created
463 /// Required by the API.
464 #[serde(rename = "createdAt")]
465 pub created_at: String,
466 /// Date when knowledge base was last updated
467 /// Required by the API.
468 #[serde(rename = "updatedAt")]
469 pub updated_at: String,
470}
471
472/// `KnowledgeBaseListItemDTO` from the GoHighLevel OpenAPI spec.
473#[derive(Debug, Clone, Default, Serialize, Deserialize)]
474pub struct KnowledgeBaseListItemDTO {
475 /// Knowledge base ID
476 /// Required by the API.
477 pub id: String,
478 /// Knowledge base name
479 /// Required by the API.
480 pub name: String,
481 /// Date when knowledge base was created
482 /// Required by the API.
483 #[serde(rename = "createdAt")]
484 pub created_at: String,
485}
486
487/// `KnowledgeBaseMetadataDTO` from the GoHighLevel OpenAPI spec.
488#[derive(Debug, Clone, Default, Serialize, Deserialize)]
489pub struct KnowledgeBaseMetadataDTO {
490 /// Number of FAQs in the knowledge base
491 /// Required by the API.
492 pub faqs: f64,
493 /// Number of URLs in the knowledge base
494 /// Required by the API.
495 pub urls: f64,
496 /// Number of rich text documents in the knowledge base
497 /// Required by the API.
498 #[serde(rename = "richText")]
499 pub rich_text: f64,
500 /// Number of files in the knowledge base
501 /// Required by the API.
502 pub files: f64,
503 /// Number of web searche configs in the knowledge base
504 /// Required by the API.
505 #[serde(rename = "webSearches")]
506 pub web_searches: f64,
507 /// Number of tables in the knowledge base
508 /// Required by the API.
509 pub tables: f64,
510}
511
512/// `ListFaqsResponseDTO` from the GoHighLevel OpenAPI spec.
513#[derive(Debug, Clone, Default, Serialize, Deserialize)]
514pub struct ListFaqsResponseDTO {
515 /// Total count of all FAQs in the knowledge base
516 /// Required by the API.
517 pub count: f64,
518 /// Array of FAQ objects
519 /// Required by the API.
520 #[serde(default, skip_serializing_if = "Vec::is_empty")]
521 pub faqs: Vec<FaqResponseDTO>,
522 /// Last FAQ ID for pagination (use as lastFaqId in next request)
523 #[serde(rename = "lastFaqId", default, skip_serializing_if = "Option::is_none")]
524 pub last_faq_id: Option<String>,
525 /// Whether there are more FAQs available
526 #[serde(rename = "hasMore", default, skip_serializing_if = "Option::is_none")]
527 pub has_more: Option<bool>,
528}
529
530/// `OperationDetailsDTO` from the GoHighLevel OpenAPI spec.
531#[derive(Debug, Clone, Default, Serialize, Deserialize)]
532pub struct OperationDetailsDTO {
533 /// Number of URLs discovered
534 /// Required by the API.
535 #[serde(rename = "discoveredUrlsCount")]
536 pub discovered_urls_count: f64,
537 /// Number of URLs successfully trained
538 /// Required by the API.
539 #[serde(rename = "trainedUrlsCount")]
540 pub trained_urls_count: f64,
541 /// Operation unique identifier
542 /// Required by the API.
543 #[serde(rename = "_id")]
544 pub id: String,
545 /// Associated location ID
546 /// Required by the API.
547 #[serde(rename = "locationId")]
548 pub location_id: String,
549 /// Current operation status
550 /// Allowed values: `Pending`, `Processing`, `Successful`, `Failed`, `Existing`,
551 /// `Restricted`, `Cancelled`, `Aborted`, `Training`.
552 /// Required by the API.
553 pub status: String,
554 /// Base URL being crawled
555 /// Required by the API.
556 pub url: String,
557 /// Crawling mode used
558 /// Allowed values: `Exact`, `Path`, `Domain`.
559 /// Required by the API.
560 pub mode: String,
561 /// Knowledge base ID
562 /// Required by the API.
563 #[serde(rename = "knowledgeBaseId")]
564 pub knowledge_base_id: String,
565 /// Operation creation timestamp
566 /// Required by the API.
567 #[serde(rename = "createdAt")]
568 pub created_at: String,
569 /// Last update timestamp
570 /// Required by the API.
571 #[serde(rename = "updatedAt")]
572 pub updated_at: String,
573 /// Version field
574 /// Required by the API.
575 #[serde(rename = "__v")]
576 pub v: f64,
577 /// Robots.txt file content
578 #[serde(
579 rename = "robotsFileData",
580 default,
581 skip_serializing_if = "Option::is_none"
582 )]
583 pub robots_file_data: Option<String>,
584}
585
586/// `TrainDiscoveredUrlsDTO` from the GoHighLevel OpenAPI spec.
587#[derive(Debug, Clone, Default, Serialize, Deserialize)]
588pub struct TrainDiscoveredUrlsDTO {
589 /// Location ID as string
590 /// Required by the API.
591 #[serde(rename = "locationId")]
592 pub location_id: String,
593 /// List of Object ids of the discovered urls
594 /// Required by the API.
595 #[serde(rename = "urlIds", default, skip_serializing_if = "Vec::is_empty")]
596 pub url_ids: Vec<String>,
597 /// knowledge base id
598 /// Required by the API.
599 #[serde(rename = "knowledgeBaseId")]
600 pub knowledge_base_id: String,
601 /// operation id as string
602 /// Required by the API.
603 #[serde(rename = "operationId")]
604 pub operation_id: String,
605}
606
607/// `TrainDiscoveredUrlsResponseDTO` from the GoHighLevel OpenAPI spec.
608#[derive(Debug, Clone, Default, Serialize, Deserialize)]
609pub struct TrainDiscoveredUrlsResponseDTO {
610 /// Indicates if the operation was successful
611 /// Required by the API.
612 pub success: bool,
613}
614
615/// `UnauthorizedDTO` from the GoHighLevel OpenAPI spec.
616#[derive(Debug, Clone, Default, Serialize, Deserialize)]
617pub struct UnauthorizedDTO {
618 #[serde(
619 rename = "statusCode",
620 default,
621 skip_serializing_if = "Option::is_none"
622 )]
623 pub status_code: Option<f64>,
624 #[serde(default, skip_serializing_if = "Option::is_none")]
625 pub message: Option<String>,
626 #[serde(default, skip_serializing_if = "Option::is_none")]
627 pub error: Option<String>,
628}
629
630/// `UnprocessableDTO` from the GoHighLevel OpenAPI spec.
631#[derive(Debug, Clone, Default, Serialize, Deserialize)]
632pub struct UnprocessableDTO {
633 #[serde(
634 rename = "statusCode",
635 default,
636 skip_serializing_if = "Option::is_none"
637 )]
638 pub status_code: Option<f64>,
639 #[serde(default, skip_serializing_if = "Vec::is_empty")]
640 pub message: Vec<String>,
641 #[serde(default, skip_serializing_if = "Option::is_none")]
642 pub error: Option<String>,
643}
644
645/// `UpdateFaqBodyDTO` from the GoHighLevel OpenAPI spec.
646#[derive(Debug, Clone, Default, Serialize, Deserialize)]
647pub struct UpdateFaqBodyDTO {
648 /// faq question as a string
649 /// Required by the API.
650 pub question: String,
651 /// faq answer as a string
652 /// Required by the API.
653 pub answer: String,
654}
655
656/// `UpdateFaqResponseDTO` from the GoHighLevel OpenAPI spec.
657#[derive(Debug, Clone, Default, Serialize, Deserialize)]
658pub struct UpdateFaqResponseDTO {
659 /// Success status of the update operation
660 /// Required by the API.
661 pub success: bool,
662}
663
664/// `UpdateKnowledgeBaseDTO` from the GoHighLevel OpenAPI spec.
665#[derive(Debug, Clone, Default, Serialize, Deserialize)]
666pub struct UpdateKnowledgeBaseDTO {
667 /// field to update the name of the knowledge base
668 #[serde(default, skip_serializing_if = "Option::is_none")]
669 pub name: Option<String>,
670 /// field to update the description of the knowledge base
671 #[serde(default, skip_serializing_if = "Option::is_none")]
672 pub description: Option<String>,
673}
674
675/// `UpdateKnowledgeBaseResponseDTO` from the GoHighLevel OpenAPI spec.
676#[derive(Debug, Clone, Default, Serialize, Deserialize)]
677pub struct UpdateKnowledgeBaseResponseDTO {
678 /// Required by the API.
679 pub success: bool,
680}