qanswer-sdk 0.1.0.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. qanswer_sdk/__init__.py +1256 -0
  2. qanswer_sdk/api/__init__.py +63 -0
  3. qanswer_sdk/api/admin_api.py +7893 -0
  4. qanswer_sdk/api/ai_assistant_access_rights_api.py +5881 -0
  5. qanswer_sdk/api/ai_assistant_api.py +11047 -0
  6. qanswer_sdk/api/anthropic_compatible_api.py +311 -0
  7. qanswer_sdk/api/auto_complete_api.py +612 -0
  8. qanswer_sdk/api/bot_slack_api.py +1015 -0
  9. qanswer_sdk/api/branding_api.py +5733 -0
  10. qanswer_sdk/api/bulk_reindex_api.py +2029 -0
  11. qanswer_sdk/api/chatbot_api.py +1102 -0
  12. qanswer_sdk/api/connector_audio_api.py +3469 -0
  13. qanswer_sdk/api/connector_document_api.py +2685 -0
  14. qanswer_sdk/api/connector_e_consilium_api.py +333 -0
  15. qanswer_sdk/api/connector_e_consilium_search_index_api_api.py +1231 -0
  16. qanswer_sdk/api/connector_google_drive_api.py +2175 -0
  17. qanswer_sdk/api/connector_imapapi_api.py +1866 -0
  18. qanswer_sdk/api/connector_one_drive_api.py +1579 -0
  19. qanswer_sdk/api/connector_onenote_api.py +1596 -0
  20. qanswer_sdk/api/connector_pinecone_api.py +893 -0
  21. qanswer_sdk/api/connector_publication_office_api_api.py +1230 -0
  22. qanswer_sdk/api/connector_qn_a_api.py +1521 -0
  23. qanswer_sdk/api/connector_rdf_answer_api.py +1454 -0
  24. qanswer_sdk/api/connector_rdf_api.py +5090 -0
  25. qanswer_sdk/api/connector_sharepoint_api.py +3926 -0
  26. qanswer_sdk/api/connector_websearch_api.py +332 -0
  27. qanswer_sdk/api/connector_website_api.py +3108 -0
  28. qanswer_sdk/api/connector_x_wiki_api_api.py +1278 -0
  29. qanswer_sdk/api/connectors_api.py +6946 -0
  30. qanswer_sdk/api/connectors_data_api.py +5903 -0
  31. qanswer_sdk/api/conversation_logs_api.py +14228 -0
  32. qanswer_sdk/api/dataset_config_api.py +4016 -0
  33. qanswer_sdk/api/debug_api.py +278 -0
  34. qanswer_sdk/api/default_api.py +763 -0
  35. qanswer_sdk/api/frontend_config_api.py +270 -0
  36. qanswer_sdk/api/health_check_api_api.py +278 -0
  37. qanswer_sdk/api/mcp_api.py +10758 -0
  38. qanswer_sdk/api/metadata_api.py +1309 -0
  39. qanswer_sdk/api/notifications_api.py +1842 -0
  40. qanswer_sdk/api/o_auth2_api.py +648 -0
  41. qanswer_sdk/api/open_ai_compatible_api.py +1093 -0
  42. qanswer_sdk/api/payment_api.py +1854 -0
  43. qanswer_sdk/api/retention_policy_api.py +4404 -0
  44. qanswer_sdk/api/socket_api.py +4706 -0
  45. qanswer_sdk/api/speech_to_text_api.py +968 -0
  46. qanswer_sdk/api/task_ai_excel_api.py +3749 -0
  47. qanswer_sdk/api/task_chat_api.py +2079 -0
  48. qanswer_sdk/api/task_entity_linking_api.py +315 -0
  49. qanswer_sdk/api/task_rdf_linker_api.py +4407 -0
  50. qanswer_sdk/api/task_rdf_sparql_endpoint_api.py +3355 -0
  51. qanswer_sdk/api/task_rdf_text_linker_api.py +1513 -0
  52. qanswer_sdk/api/task_report_copilot_api.py +7355 -0
  53. qanswer_sdk/api/task_search_api.py +2142 -0
  54. qanswer_sdk/api/task_text2sparql_api.py +947 -0
  55. qanswer_sdk/api/task_text_classification_api.py +592 -0
  56. qanswer_sdk/api/tasks_api.py +26394 -0
  57. qanswer_sdk/api/tool_embedder_api.py +5532 -0
  58. qanswer_sdk/api/tool_llm_api.py +6364 -0
  59. qanswer_sdk/api/unit_organizations_api.py +8600 -0
  60. qanswer_sdk/api/unit_teams_api.py +4492 -0
  61. qanswer_sdk/api/unit_user_api.py +12759 -0
  62. qanswer_sdk/api_client.py +804 -0
  63. qanswer_sdk/api_response.py +21 -0
  64. qanswer_sdk/configuration.py +614 -0
  65. qanswer_sdk/exceptions.py +216 -0
  66. qanswer_sdk/models/__init__.py +562 -0
  67. qanswer_sdk/models/access_audio_spans_response_model.py +91 -0
  68. qanswer_sdk/models/access_pdf_payload_model.py +102 -0
  69. qanswer_sdk/models/access_type.py +42 -0
  70. qanswer_sdk/models/access_type_shared.py +38 -0
  71. qanswer_sdk/models/add_qn_a_request.py +103 -0
  72. qanswer_sdk/models/add_synonyms.py +93 -0
  73. qanswer_sdk/models/add_synonyms_resp.py +89 -0
  74. qanswer_sdk/models/admin_overall_stats_response.py +105 -0
  75. qanswer_sdk/models/admin_user_overall_stats.py +99 -0
  76. qanswer_sdk/models/advanced_o_auth2_mcp_authentication_config.py +95 -0
  77. qanswer_sdk/models/aggregate.py +93 -0
  78. qanswer_sdk/models/aggregation.py +110 -0
  79. qanswer_sdk/models/aggregation_type.py +41 -0
  80. qanswer_sdk/models/aggregations_group.py +102 -0
  81. qanswer_sdk/models/ai_assistant_clone_response.py +91 -0
  82. qanswer_sdk/models/ai_assistant_dto.py +113 -0
  83. qanswer_sdk/models/ai_assistant_filter_dto.py +113 -0
  84. qanswer_sdk/models/ai_assistant_list.py +101 -0
  85. qanswer_sdk/models/ai_assistant_share_response.py +93 -0
  86. qanswer_sdk/models/ai_assistant_shared_access.py +95 -0
  87. qanswer_sdk/models/ai_excel_entity_result.py +97 -0
  88. qanswer_sdk/models/ai_excel_entity_search_payload.py +95 -0
  89. qanswer_sdk/models/ai_excel_entity_search_response.py +103 -0
  90. qanswer_sdk/models/ai_excel_global_settings.py +95 -0
  91. qanswer_sdk/models/ai_excel_global_settings_request.py +95 -0
  92. qanswer_sdk/models/ai_excel_task_settings.py +119 -0
  93. qanswer_sdk/models/ai_excel_task_update.py +119 -0
  94. qanswer_sdk/models/ai_excel_template_create.py +119 -0
  95. qanswer_sdk/models/ai_excel_template_read.py +121 -0
  96. qanswer_sdk/models/ai_excel_template_settings_request.py +91 -0
  97. qanswer_sdk/models/ai_excel_template_update.py +125 -0
  98. qanswer_sdk/models/ai_excel_templates_search_request.py +104 -0
  99. qanswer_sdk/models/ai_excel_templates_search_response.py +101 -0
  100. qanswer_sdk/models/allowed_extension.py +53 -0
  101. qanswer_sdk/models/allowed_file_extensions.py +88 -0
  102. qanswer_sdk/models/api_key_header_type.py +39 -0
  103. qanswer_sdk/models/api_key_mcp_authentication_config.py +98 -0
  104. qanswer_sdk/models/applied_filter_type.py +37 -0
  105. qanswer_sdk/models/applied_metadata_filter.py +97 -0
  106. qanswer_sdk/models/apply_template_task_settings_to_slots_response.py +89 -0
  107. qanswer_sdk/models/assistant_category_color_definition.py +89 -0
  108. qanswer_sdk/models/assistant_category_color_item.py +89 -0
  109. qanswer_sdk/models/assistant_category_colors_update_payload.py +95 -0
  110. qanswer_sdk/models/assistant_category_count.py +91 -0
  111. qanswer_sdk/models/assistant_message_stop.py +93 -0
  112. qanswer_sdk/models/assistant_retention_response.py +97 -0
  113. qanswer_sdk/models/assistant_task.py +43 -0
  114. qanswer_sdk/models/assistant_template_with_tools_selection_dto.py +123 -0
  115. qanswer_sdk/models/audio_allowed_file_extensions.py +87 -0
  116. qanswer_sdk/models/audio_format.py +37 -0
  117. qanswer_sdk/models/audio_segment.py +95 -0
  118. qanswer_sdk/models/audio_segment_update_payload.py +97 -0
  119. qanswer_sdk/models/audio_segment_update_response.py +91 -0
  120. qanswer_sdk/models/audio_speaker_update_payload.py +99 -0
  121. qanswer_sdk/models/audio_speaker_update_response.py +91 -0
  122. qanswer_sdk/models/audio_transcription_list_response.py +101 -0
  123. qanswer_sdk/models/audio_transcription_mode.py +37 -0
  124. qanswer_sdk/models/audio_transcription_record.py +101 -0
  125. qanswer_sdk/models/audio_transcription_status.py +39 -0
  126. qanswer_sdk/models/audio_upload_response.py +91 -0
  127. qanswer_sdk/models/audio_word_segment.py +93 -0
  128. qanswer_sdk/models/audio_word_span_change.py +94 -0
  129. qanswer_sdk/models/audio_word_span_update_payload.py +104 -0
  130. qanswer_sdk/models/audio_word_span_update_response.py +91 -0
  131. qanswer_sdk/models/audio_word_update_payload.py +100 -0
  132. qanswer_sdk/models/audio_word_update_response.py +91 -0
  133. qanswer_sdk/models/auth_link_response.py +91 -0
  134. qanswer_sdk/models/auto_bot_description_request.py +89 -0
  135. qanswer_sdk/models/auto_bot_description_response.py +87 -0
  136. qanswer_sdk/models/available_aggregation.py +92 -0
  137. qanswer_sdk/models/available_connectors_response.py +92 -0
  138. qanswer_sdk/models/available_logs_visibility_policy.py +91 -0
  139. qanswer_sdk/models/available_space_quota_for_dataset.py +95 -0
  140. qanswer_sdk/models/available_storage_preference.py +91 -0
  141. qanswer_sdk/models/base_connectors_response.py +89 -0
  142. qanswer_sdk/models/base_conversation_response.py +89 -0
  143. qanswer_sdk/models/base_feedback_response.py +89 -0
  144. qanswer_sdk/models/bot_answer_length.py +38 -0
  145. qanswer_sdk/models/branding_app_title.py +87 -0
  146. qanswer_sdk/models/branding_system_message.py +87 -0
  147. qanswer_sdk/models/bulk_reindex_counts_by_type.py +89 -0
  148. qanswer_sdk/models/bulk_reindex_item_status.py +41 -0
  149. qanswer_sdk/models/bulk_reindex_job_detail_dto.py +103 -0
  150. qanswer_sdk/models/bulk_reindex_job_dto.py +125 -0
  151. qanswer_sdk/models/bulk_reindex_job_item_dto.py +113 -0
  152. qanswer_sdk/models/bulk_reindex_job_item_sort_by.py +40 -0
  153. qanswer_sdk/models/bulk_reindex_job_status.py +41 -0
  154. qanswer_sdk/models/bulk_reindex_jobs_list_response.py +97 -0
  155. qanswer_sdk/models/bulk_reindex_preview_counts.py +99 -0
  156. qanswer_sdk/models/bulk_reindex_preview_request.py +91 -0
  157. qanswer_sdk/models/bulk_reindex_preview_response.py +102 -0
  158. qanswer_sdk/models/bulk_reindex_skip_reason.py +40 -0
  159. qanswer_sdk/models/bulk_reindex_sort_order.py +37 -0
  160. qanswer_sdk/models/bulk_reindex_submit_request.py +94 -0
  161. qanswer_sdk/models/bulk_update_tool_selections_request.py +87 -0
  162. qanswer_sdk/models/capability_type.py +37 -0
  163. qanswer_sdk/models/cell.py +89 -0
  164. qanswer_sdk/models/change_password.py +89 -0
  165. qanswer_sdk/models/change_password_admin.py +89 -0
  166. qanswer_sdk/models/change_role.py +90 -0
  167. qanswer_sdk/models/chat_task_settings.py +141 -0
  168. qanswer_sdk/models/chat_task_settings_update_payload.py +95 -0
  169. qanswer_sdk/models/chat_task_update.py +139 -0
  170. qanswer_sdk/models/chatbot_chat_payload.py +150 -0
  171. qanswer_sdk/models/chatbot_default_settings_response.py +95 -0
  172. qanswer_sdk/models/chatbot_llm_dto.py +120 -0
  173. qanswer_sdk/models/chatbot_response.py +143 -0
  174. qanswer_sdk/models/chatbot_setting_dto.py +99 -0
  175. qanswer_sdk/models/chatbot_setting_request.py +91 -0
  176. qanswer_sdk/models/class_info.py +89 -0
  177. qanswer_sdk/models/config.py +228 -0
  178. qanswer_sdk/models/config1.py +138 -0
  179. qanswer_sdk/models/connector_config_list_response.py +99 -0
  180. qanswer_sdk/models/connector_config_model.py +96 -0
  181. qanswer_sdk/models/connector_config_patch_payload.py +93 -0
  182. qanswer_sdk/models/connector_config_response.py +95 -0
  183. qanswer_sdk/models/connector_config_sync_response.py +93 -0
  184. qanswer_sdk/models/connector_config_type.py +37 -0
  185. qanswer_sdk/models/connector_model.py +114 -0
  186. qanswer_sdk/models/connector_type.py +51 -0
  187. qanswer_sdk/models/connector_type_dto.py +92 -0
  188. qanswer_sdk/models/connector_type_list_dto.py +95 -0
  189. qanswer_sdk/models/content_item.py +106 -0
  190. qanswer_sdk/models/content_item_type.py +39 -0
  191. qanswer_sdk/models/conversation_aggregations_request.py +107 -0
  192. qanswer_sdk/models/conversation_message.py +230 -0
  193. qanswer_sdk/models/conversation_message_error_key.py +52 -0
  194. qanswer_sdk/models/conversation_message_search_result.py +112 -0
  195. qanswer_sdk/models/conversation_model.py +144 -0
  196. qanswer_sdk/models/conversation_overall_stats.py +97 -0
  197. qanswer_sdk/models/conversation_overall_stats_response.py +95 -0
  198. qanswer_sdk/models/conversation_retention_response.py +91 -0
  199. qanswer_sdk/models/conversation_statistics.py +95 -0
  200. qanswer_sdk/models/conversation_update.py +93 -0
  201. qanswer_sdk/models/conversation_users_stats.py +99 -0
  202. qanswer_sdk/models/conversation_users_stats_response.py +99 -0
  203. qanswer_sdk/models/coordinates.py +89 -0
  204. qanswer_sdk/models/cost_summary_dto.py +99 -0
  205. qanswer_sdk/models/create_connector_request.py +95 -0
  206. qanswer_sdk/models/create_connector_response.py +95 -0
  207. qanswer_sdk/models/create_imap_connector_request.py +105 -0
  208. qanswer_sdk/models/create_pinecone_connector_request.py +97 -0
  209. qanswer_sdk/models/create_sharepoint_connector_from_certificate_request.py +105 -0
  210. qanswer_sdk/models/create_sharepoint_connector_request.py +103 -0
  211. qanswer_sdk/models/create_x_wiki_connector_request.py +103 -0
  212. qanswer_sdk/models/credits_info_dto.py +95 -0
  213. qanswer_sdk/models/credits_info_global_dto.py +97 -0
  214. qanswer_sdk/models/currency.py +38 -0
  215. qanswer_sdk/models/data.py +211 -0
  216. qanswer_sdk/models/data_filling_mode.py +39 -0
  217. qanswer_sdk/models/data_storage_preference.py +38 -0
  218. qanswer_sdk/models/dataset_config_request.py +138 -0
  219. qanswer_sdk/models/dataset_default_values_model.py +129 -0
  220. qanswer_sdk/models/dataset_detail.py +128 -0
  221. qanswer_sdk/models/dataset_detail_kg.py +88 -0
  222. qanswer_sdk/models/dataset_schema.py +193 -0
  223. qanswer_sdk/models/dataset_type.py +38 -0
  224. qanswer_sdk/models/dataset_update_object.py +185 -0
  225. qanswer_sdk/models/dataset_users_response.py +87 -0
  226. qanswer_sdk/models/default_prompt.py +100 -0
  227. qanswer_sdk/models/delete_connector_model.py +90 -0
  228. qanswer_sdk/models/delete_connector_request.py +99 -0
  229. qanswer_sdk/models/delete_connectors_response.py +89 -0
  230. qanswer_sdk/models/delete_files_status_response.py +91 -0
  231. qanswer_sdk/models/delete_index.py +91 -0
  232. qanswer_sdk/models/delete_index_resp.py +89 -0
  233. qanswer_sdk/models/delete_qn_a_pair_request.py +95 -0
  234. qanswer_sdk/models/delete_qn_a_pair_response.py +89 -0
  235. qanswer_sdk/models/delete_synonym.py +93 -0
  236. qanswer_sdk/models/delete_synonym_resp.py +89 -0
  237. qanswer_sdk/models/delete_synonyms.py +91 -0
  238. qanswer_sdk/models/diarization_queue_status.py +99 -0
  239. qanswer_sdk/models/document_content_response.py +91 -0
  240. qanswer_sdk/models/document_content_update_model.py +99 -0
  241. qanswer_sdk/models/document_file_delete_by_connector_model.py +101 -0
  242. qanswer_sdk/models/document_file_delete_by_id_model.py +91 -0
  243. qanswer_sdk/models/document_parsing_task_settings.py +124 -0
  244. qanswer_sdk/models/document_parsing_task_settings_update_payload.py +95 -0
  245. qanswer_sdk/models/document_parsing_task_update.py +121 -0
  246. qanswer_sdk/models/document_status_group.py +39 -0
  247. qanswer_sdk/models/document_status_response.py +89 -0
  248. qanswer_sdk/models/dummy_error.py +89 -0
  249. qanswer_sdk/models/duplicate_ai_excel_template_request.py +97 -0
  250. qanswer_sdk/models/duplicate_ai_excel_template_response.py +87 -0
  251. qanswer_sdk/models/duplicate_report_template_payload.py +97 -0
  252. qanswer_sdk/models/duplicate_report_template_response.py +87 -0
  253. qanswer_sdk/models/e_consilium_connector_config.py +108 -0
  254. qanswer_sdk/models/e_consilium_search_index_search_response.py +113 -0
  255. qanswer_sdk/models/econsilium_file_metadata.py +105 -0
  256. qanswer_sdk/models/econsilium_search_index_add_payload.py +107 -0
  257. qanswer_sdk/models/econsilium_search_index_additional_fields.py +103 -0
  258. qanswer_sdk/models/effective_retention_dto.py +95 -0
  259. qanswer_sdk/models/email_folder.py +91 -0
  260. qanswer_sdk/models/email_request.py +87 -0
  261. qanswer_sdk/models/embedder_cost_filter.py +112 -0
  262. qanswer_sdk/models/embedder_cost_list.py +101 -0
  263. qanswer_sdk/models/embedder_create_dto.py +143 -0
  264. qanswer_sdk/models/embedder_detailed_dto.py +163 -0
  265. qanswer_sdk/models/embedder_dto.py +103 -0
  266. qanswer_sdk/models/embedder_list_dto.py +101 -0
  267. qanswer_sdk/models/embedder_ref.py +95 -0
  268. qanswer_sdk/models/embedder_update_dto.py +135 -0
  269. qanswer_sdk/models/embedding_endpoint_import_failure.py +89 -0
  270. qanswer_sdk/models/embedding_endpoint_import_response.py +99 -0
  271. qanswer_sdk/models/embedding_endpoint_modality.py +37 -0
  272. qanswer_sdk/models/embedding_endpoint_validation_response.py +90 -0
  273. qanswer_sdk/models/embedding_provider.py +44 -0
  274. qanswer_sdk/models/enable_enhanced_context_payload.py +91 -0
  275. qanswer_sdk/models/enable_enhanced_context_response.py +87 -0
  276. qanswer_sdk/models/endpoint_status.py +38 -0
  277. qanswer_sdk/models/entity_description_dto.py +93 -0
  278. qanswer_sdk/models/entity_linking_payload.py +97 -0
  279. qanswer_sdk/models/entity_linking_response.py +97 -0
  280. qanswer_sdk/models/entity_model_in_linking.py +95 -0
  281. qanswer_sdk/models/es_meta_data.py +92 -0
  282. qanswer_sdk/models/es_meta_data_value.py +87 -0
  283. qanswer_sdk/models/evaluate_feedback_response.py +109 -0
  284. qanswer_sdk/models/evaluate_single_feedback_response.py +97 -0
  285. qanswer_sdk/models/extra_body.py +91 -0
  286. qanswer_sdk/models/extract_hyper_links_payload.py +100 -0
  287. qanswer_sdk/models/extract_robot_links_payload.py +88 -0
  288. qanswer_sdk/models/extract_robot_links_response.py +88 -0
  289. qanswer_sdk/models/extraction_strategy.py +38 -0
  290. qanswer_sdk/models/fact.py +96 -0
  291. qanswer_sdk/models/feedback_evaluation_history_entries_response.py +101 -0
  292. qanswer_sdk/models/feedback_evaluation_history_entry_model.py +105 -0
  293. qanswer_sdk/models/feedback_model.py +132 -0
  294. qanswer_sdk/models/feedback_response.py +95 -0
  295. qanswer_sdk/models/feedback_update.py +105 -0
  296. qanswer_sdk/models/file_acl_principal.py +99 -0
  297. qanswer_sdk/models/file_acl_response.py +101 -0
  298. qanswer_sdk/models/file_es_meta_data.py +116 -0
  299. qanswer_sdk/models/file_failure_reason.py +49 -0
  300. qanswer_sdk/models/file_folder_model.py +117 -0
  301. qanswer_sdk/models/file_model.py +124 -0
  302. qanswer_sdk/models/file_status.py +43 -0
  303. qanswer_sdk/models/file_type.py +37 -0
  304. qanswer_sdk/models/file_upload_payload.py +107 -0
  305. qanswer_sdk/models/files_by_connector_model.py +89 -0
  306. qanswer_sdk/models/g_drive_connector_info.py +96 -0
  307. qanswer_sdk/models/g_drive_download_by_ids.py +89 -0
  308. qanswer_sdk/models/g_drive_download_request.py +103 -0
  309. qanswer_sdk/models/g_drive_refresh_request.py +91 -0
  310. qanswer_sdk/models/generation_params.py +89 -0
  311. qanswer_sdk/models/get_connector_by_id_response.py +91 -0
  312. qanswer_sdk/models/get_conversation_response.py +95 -0
  313. qanswer_sdk/models/global_config_dto.py +155 -0
  314. qanswer_sdk/models/google_drive_connector_config.py +110 -0
  315. qanswer_sdk/models/guardrail_endpoint.py +112 -0
  316. qanswer_sdk/models/guardrail_mode.py +38 -0
  317. qanswer_sdk/models/highlight_audio_payload_model.py +100 -0
  318. qanswer_sdk/models/http_validation_error.py +95 -0
  319. qanswer_sdk/models/iframe_strategy.py +38 -0
  320. qanswer_sdk/models/image_url_detail.py +38 -0
  321. qanswer_sdk/models/imap_add_payload.py +105 -0
  322. qanswer_sdk/models/imap_additional_fields.py +101 -0
  323. qanswer_sdk/models/imap_file_metadata.py +108 -0
  324. qanswer_sdk/models/imap_search_response.py +113 -0
  325. qanswer_sdk/models/index_config.py +89 -0
  326. qanswer_sdk/models/install_response.py +89 -0
  327. qanswer_sdk/models/interface_origin.py +47 -0
  328. qanswer_sdk/models/ip2_geo_response.py +91 -0
  329. qanswer_sdk/models/is_enabled_response.py +87 -0
  330. qanswer_sdk/models/jwt_authentication_response.py +93 -0
  331. qanswer_sdk/models/label.py +89 -0
  332. qanswer_sdk/models/labeled_node.py +89 -0
  333. qanswer_sdk/models/language.py +38 -0
  334. qanswer_sdk/models/last_updated_template_conversation_id_response.py +87 -0
  335. qanswer_sdk/models/link.py +99 -0
  336. qanswer_sdk/models/link_extraction_response.py +97 -0
  337. qanswer_sdk/models/link_result_paginated.py +97 -0
  338. qanswer_sdk/models/linked_entity_model_in_linking.py +99 -0
  339. qanswer_sdk/models/linker.py +103 -0
  340. qanswer_sdk/models/linking_result.py +95 -0
  341. qanswer_sdk/models/links.py +99 -0
  342. qanswer_sdk/models/list_connectors_response.py +95 -0
  343. qanswer_sdk/models/list_conversation_response.py +105 -0
  344. qanswer_sdk/models/list_feedback_response.py +105 -0
  345. qanswer_sdk/models/list_files_connector_response.py +107 -0
  346. qanswer_sdk/models/list_socket_events.py +88 -0
  347. qanswer_sdk/models/list_synonyms_model.py +95 -0
  348. qanswer_sdk/models/llm_context_ranges.py +93 -0
  349. qanswer_sdk/models/llm_cost_filter.py +112 -0
  350. qanswer_sdk/models/llm_cost_list.py +101 -0
  351. qanswer_sdk/models/llm_create_dto.py +177 -0
  352. qanswer_sdk/models/llm_detailed_dto.py +198 -0
  353. qanswer_sdk/models/llm_dto.py +120 -0
  354. qanswer_sdk/models/llm_endpoint.py +179 -0
  355. qanswer_sdk/models/llm_endpoint_default_prompts.py +93 -0
  356. qanswer_sdk/models/llm_endpoint_import_failure.py +89 -0
  357. qanswer_sdk/models/llm_endpoint_import_response.py +99 -0
  358. qanswer_sdk/models/llm_endpoint_modality.py +37 -0
  359. qanswer_sdk/models/llm_endpoint_provider.py +44 -0
  360. qanswer_sdk/models/llm_endpoint_read.py +179 -0
  361. qanswer_sdk/models/llm_endpoint_validation_response.py +90 -0
  362. qanswer_sdk/models/llm_health_response.py +89 -0
  363. qanswer_sdk/models/llm_list_detailed_dto.py +101 -0
  364. qanswer_sdk/models/llm_list_dto.py +101 -0
  365. qanswer_sdk/models/llm_update_dto.py +174 -0
  366. qanswer_sdk/models/location_details.py +97 -0
  367. qanswer_sdk/models/log_stats_request.py +100 -0
  368. qanswer_sdk/models/login_request.py +89 -0
  369. qanswer_sdk/models/logs_visibility_policy.py +38 -0
  370. qanswer_sdk/models/logs_visibility_policy_payload.py +92 -0
  371. qanswer_sdk/models/logs_visibility_policy_response.py +92 -0
  372. qanswer_sdk/models/mcp_auth_field_definition.py +98 -0
  373. qanswer_sdk/models/mcp_auth_field_type.py +37 -0
  374. qanswer_sdk/models/mcp_authentication_type.py +39 -0
  375. qanswer_sdk/models/mcp_connection.py +108 -0
  376. qanswer_sdk/models/mcp_connection_create.py +100 -0
  377. qanswer_sdk/models/mcp_server.py +146 -0
  378. qanswer_sdk/models/mcp_server_create.py +116 -0
  379. qanswer_sdk/models/mcp_server_type.py +37 -0
  380. qanswer_sdk/models/mcp_server_update.py +114 -0
  381. qanswer_sdk/models/mcp_tool_dto.py +131 -0
  382. qanswer_sdk/models/mcp_tool_info.py +95 -0
  383. qanswer_sdk/models/mcp_tool_selection_source.py +37 -0
  384. qanswer_sdk/models/mcp_tool_sync_action.py +39 -0
  385. qanswer_sdk/models/mcp_tool_sync_diff.py +94 -0
  386. qanswer_sdk/models/mcp_tool_sync_preview.py +95 -0
  387. qanswer_sdk/models/mcp_tool_update.py +91 -0
  388. qanswer_sdk/models/mcp_transport.py +37 -0
  389. qanswer_sdk/models/mcp_visibility.py +38 -0
  390. qanswer_sdk/models/mcpo_auth2_authorize_body.py +105 -0
  391. qanswer_sdk/models/mcpo_auth2_initiating_origin.py +42 -0
  392. qanswer_sdk/models/message_role.py +38 -0
  393. qanswer_sdk/models/messages_stats_per_day_response.py +99 -0
  394. qanswer_sdk/models/microsoft_connector_config.py +110 -0
  395. qanswer_sdk/models/modify_connector_request.py +98 -0
  396. qanswer_sdk/models/modify_file_display_name_request.py +97 -0
  397. qanswer_sdk/models/notification_dto.py +114 -0
  398. qanswer_sdk/models/notification_filter.py +107 -0
  399. qanswer_sdk/models/notification_list_dto.py +101 -0
  400. qanswer_sdk/models/notification_payload_add_to_org_dto.py +87 -0
  401. qanswer_sdk/models/notification_payload_add_to_team_dto.py +89 -0
  402. qanswer_sdk/models/notification_payload_ai_assistant_shared_dto.py +100 -0
  403. qanswer_sdk/models/notification_payload_conversation_shared_dto.py +96 -0
  404. qanswer_sdk/models/notification_payload_human_takeover_requested_dto.py +89 -0
  405. qanswer_sdk/models/notification_payload_quota_reaching_dto.py +91 -0
  406. qanswer_sdk/models/notification_read_dto.py +89 -0
  407. qanswer_sdk/models/notification_type.py +44 -0
  408. qanswer_sdk/models/o_auth_redirect_response.py +89 -0
  409. qanswer_sdk/models/o_auth_service_dto.py +89 -0
  410. qanswer_sdk/models/one_drive_download_by_ids.py +89 -0
  411. qanswer_sdk/models/one_drive_download_request.py +103 -0
  412. qanswer_sdk/models/one_note_download_by_ids.py +91 -0
  413. qanswer_sdk/models/one_note_download_request.py +103 -0
  414. qanswer_sdk/models/org_llm_detailed_dto.py +105 -0
  415. qanswer_sdk/models/org_llm_features_dto.py +89 -0
  416. qanswer_sdk/models/org_role.py +37 -0
  417. qanswer_sdk/models/org_user_profile_dto.py +210 -0
  418. qanswer_sdk/models/org_user_profile_list_dto.py +101 -0
  419. qanswer_sdk/models/organization_admin_dto.py +97 -0
  420. qanswer_sdk/models/organization_creation_dto.py +91 -0
  421. qanswer_sdk/models/organization_dto.py +93 -0
  422. qanswer_sdk/models/organization_list_dto.py +101 -0
  423. qanswer_sdk/models/organization_user_dto.py +101 -0
  424. qanswer_sdk/models/organization_user_list_dto.py +101 -0
  425. qanswer_sdk/models/paginated_report_templates.py +101 -0
  426. qanswer_sdk/models/password.py +89 -0
  427. qanswer_sdk/models/pinecone_index_model.py +91 -0
  428. qanswer_sdk/models/plan_dto.py +108 -0
  429. qanswer_sdk/models/predicted_class.py +89 -0
  430. qanswer_sdk/models/prepare_synonyms_upload_resp.py +99 -0
  431. qanswer_sdk/models/prepared_synonym_group.py +87 -0
  432. qanswer_sdk/models/pricing_plan.py +51 -0
  433. qanswer_sdk/models/pricing_type.py +38 -0
  434. qanswer_sdk/models/prompt_type.py +49 -0
  435. qanswer_sdk/models/provider.py +87 -0
  436. qanswer_sdk/models/publication_add_payload.py +105 -0
  437. qanswer_sdk/models/publication_file_metadata.py +105 -0
  438. qanswer_sdk/models/publication_office_additional_fields.py +111 -0
  439. qanswer_sdk/models/publication_office_connector_config.py +112 -0
  440. qanswer_sdk/models/publication_search_index_search_response.py +113 -0
  441. qanswer_sdk/models/qa_context.py +129 -0
  442. qanswer_sdk/models/qa_context_display_type.py +44 -0
  443. qanswer_sdk/models/qa_contexts.py +106 -0
  444. qanswer_sdk/models/qa_table.py +100 -0
  445. qanswer_sdk/models/qn_a_pair_model.py +103 -0
  446. qanswer_sdk/models/qn_a_pair_response.py +95 -0
  447. qanswer_sdk/models/rag_payload.py +185 -0
  448. qanswer_sdk/models/rag_response.py +147 -0
  449. qanswer_sdk/models/rdf_entity_linker_response.py +99 -0
  450. qanswer_sdk/models/rdf_linked_entity.py +97 -0
  451. qanswer_sdk/models/reasoning_effort.py +39 -0
  452. qanswer_sdk/models/reference_model.py +99 -0
  453. qanswer_sdk/models/refresh_frequency.py +39 -0
  454. qanswer_sdk/models/refresh_token_request.py +87 -0
  455. qanswer_sdk/models/refresh_website_connector_links_payload.py +96 -0
  456. qanswer_sdk/models/refresh_website_connector_payload.py +94 -0
  457. qanswer_sdk/models/register_pinecone_connector_request.py +95 -0
  458. qanswer_sdk/models/report_copilot_generation_from_slots_ack.py +91 -0
  459. qanswer_sdk/models/report_copilot_generation_from_slots_payload.py +95 -0
  460. qanswer_sdk/models/report_copilot_refinement_payload.py +106 -0
  461. qanswer_sdk/models/report_copilot_refinement_response.py +87 -0
  462. qanswer_sdk/models/report_copilot_slot_feedback_update.py +95 -0
  463. qanswer_sdk/models/report_copilot_slot_feedback_update_response.py +95 -0
  464. qanswer_sdk/models/report_copilot_slot_task_settings.py +121 -0
  465. qanswer_sdk/models/report_copilot_slot_task_settings_update.py +121 -0
  466. qanswer_sdk/models/report_copilot_task_settings.py +119 -0
  467. qanswer_sdk/models/report_copilot_task_settings_update_payload.py +95 -0
  468. qanswer_sdk/models/report_copilot_task_update.py +119 -0
  469. qanswer_sdk/models/report_template.py +155 -0
  470. qanswer_sdk/models/report_template_create_payload.py +132 -0
  471. qanswer_sdk/models/report_template_image_upload_response.py +87 -0
  472. qanswer_sdk/models/report_template_simplified.py +116 -0
  473. qanswer_sdk/models/report_template_simplified_payload.py +91 -0
  474. qanswer_sdk/models/report_template_task_settings_update_payload.py +91 -0
  475. qanswer_sdk/models/report_template_update_payload.py +136 -0
  476. qanswer_sdk/models/report_templates_search_payload.py +106 -0
  477. qanswer_sdk/models/reset_password.py +87 -0
  478. qanswer_sdk/models/response_audit_model.py +99 -0
  479. qanswer_sdk/models/response_audit_stats_response.py +101 -0
  480. qanswer_sdk/models/response_get_dummy_union_connector_config_model_api_connectors_config_dummy_models_union_get.py +228 -0
  481. qanswer_sdk/models/retention_policy_dto.py +106 -0
  482. qanswer_sdk/models/retention_policy_update.py +101 -0
  483. qanswer_sdk/models/retention_preview_response.py +92 -0
  484. qanswer_sdk/models/retention_run_progress_event.py +98 -0
  485. qanswer_sdk/models/retention_run_status_response.py +91 -0
  486. qanswer_sdk/models/retention_scope_type.py +38 -0
  487. qanswer_sdk/models/retention_sweep_result.py +89 -0
  488. qanswer_sdk/models/retention_unit.py +38 -0
  489. qanswer_sdk/models/retreive_all_synonyms_resp.py +99 -0
  490. qanswer_sdk/models/retry_params.py +89 -0
  491. qanswer_sdk/models/return_type.py +38 -0
  492. qanswer_sdk/models/role.py +90 -0
  493. qanswer_sdk/models/role_name.py +37 -0
  494. qanswer_sdk/models/scrolling_strategy.py +37 -0
  495. qanswer_sdk/models/search_conversation_messages_response.py +105 -0
  496. qanswer_sdk/models/search_document_response.py +107 -0
  497. qanswer_sdk/models/search_index_payload.py +114 -0
  498. qanswer_sdk/models/search_metadata_filter.py +94 -0
  499. qanswer_sdk/models/search_payload.py +150 -0
  500. qanswer_sdk/models/search_response.py +120 -0
  501. qanswer_sdk/models/search_synonyms_resp.py +91 -0
  502. qanswer_sdk/models/search_task_settings.py +135 -0
  503. qanswer_sdk/models/search_task_settings_update_payload.py +95 -0
  504. qanswer_sdk/models/search_task_update.py +133 -0
  505. qanswer_sdk/models/sender_type.py +38 -0
  506. qanswer_sdk/models/serve_pdf200_response.py +87 -0
  507. qanswer_sdk/models/share_point_connector_settings.py +99 -0
  508. qanswer_sdk/models/share_point_download_by_ids.py +99 -0
  509. qanswer_sdk/models/share_point_download_request.py +103 -0
  510. qanswer_sdk/models/shared_by.py +38 -0
  511. qanswer_sdk/models/shared_entity_type.py +38 -0
  512. qanswer_sdk/models/shared_organization_access_dto.py +116 -0
  513. qanswer_sdk/models/shared_team_access_dto.py +116 -0
  514. qanswer_sdk/models/shared_user.py +90 -0
  515. qanswer_sdk/models/sign_out_request.py +87 -0
  516. qanswer_sdk/models/sign_up_request.py +99 -0
  517. qanswer_sdk/models/slot.py +153 -0
  518. qanswer_sdk/models/slot_history_entry.py +119 -0
  519. qanswer_sdk/models/slot_in_prompt.py +91 -0
  520. qanswer_sdk/models/slot_info_with_latest_version.py +95 -0
  521. qanswer_sdk/models/slot_update.py +133 -0
  522. qanswer_sdk/models/socker_join_user.py +91 -0
  523. qanswer_sdk/models/socket_audio_transcription_status.py +102 -0
  524. qanswer_sdk/models/socket_conversation_message.py +245 -0
  525. qanswer_sdk/models/socket_dataset_reindexing_status.py +97 -0
  526. qanswer_sdk/models/socket_events_q_answer.py +55 -0
  527. qanswer_sdk/models/socket_feedback_evaluation_progress.py +108 -0
  528. qanswer_sdk/models/socket_file_metadata.py +194 -0
  529. qanswer_sdk/models/socket_file_status_batch.py +103 -0
  530. qanswer_sdk/models/socket_file_status_item.py +99 -0
  531. qanswer_sdk/models/socket_join_conversation.py +97 -0
  532. qanswer_sdk/models/socket_join_dataset.py +93 -0
  533. qanswer_sdk/models/socket_message_status.py +40 -0
  534. qanswer_sdk/models/socket_notification.py +109 -0
  535. qanswer_sdk/models/socket_report_continuation_response.py +100 -0
  536. qanswer_sdk/models/socket_report_copilot_generation_from_slots_response.py +116 -0
  537. qanswer_sdk/models/socket_report_copilot_generation_from_template_response.py +116 -0
  538. qanswer_sdk/models/socket_report_copilot_refinement_response.py +102 -0
  539. qanswer_sdk/models/socket_speech2_text_response.py +122 -0
  540. qanswer_sdk/models/socket_stop_conversation.py +97 -0
  541. qanswer_sdk/models/source.py +125 -0
  542. qanswer_sdk/models/source_metadata.py +109 -0
  543. qanswer_sdk/models/speech2_text_response.py +110 -0
  544. qanswer_sdk/models/stat_per_date.py +89 -0
  545. qanswer_sdk/models/status_response.py +89 -0
  546. qanswer_sdk/models/storage_active_status.py +37 -0
  547. qanswer_sdk/models/subscription_response.py +92 -0
  548. qanswer_sdk/models/subscription_status.py +39 -0
  549. qanswer_sdk/models/suggested_replies.py +87 -0
  550. qanswer_sdk/models/suggestion_list_response.py +87 -0
  551. qanswer_sdk/models/summa_server.py +101 -0
  552. qanswer_sdk/models/task_category.py +61 -0
  553. qanswer_sdk/models/task_name.py +43 -0
  554. qanswer_sdk/models/team_admin_dto.py +95 -0
  555. qanswer_sdk/models/team_creation_dto.py +89 -0
  556. qanswer_sdk/models/team_dto.py +93 -0
  557. qanswer_sdk/models/team_list_dto.py +101 -0
  558. qanswer_sdk/models/team_list_dto_teams_inner.py +149 -0
  559. qanswer_sdk/models/team_role.py +37 -0
  560. qanswer_sdk/models/team_with_count_dto.py +95 -0
  561. qanswer_sdk/models/teams_bot_auth_type.py +38 -0
  562. qanswer_sdk/models/teams_bot_registration_dto.py +107 -0
  563. qanswer_sdk/models/teams_bot_registration_upsert_dto.py +105 -0
  564. qanswer_sdk/models/template_clip_structure.py +114 -0
  565. qanswer_sdk/models/template_toggle_request.py +93 -0
  566. qanswer_sdk/models/terms_bucket.py +107 -0
  567. qanswer_sdk/models/test_imap_connection_payload.py +95 -0
  568. qanswer_sdk/models/text2_sparql_payload.py +187 -0
  569. qanswer_sdk/models/text2_sparql_task_settings.py +119 -0
  570. qanswer_sdk/models/text2_sparql_task_settings_update_payload.py +95 -0
  571. qanswer_sdk/models/text2_sparql_task_update.py +119 -0
  572. qanswer_sdk/models/text_classification_payload.py +99 -0
  573. qanswer_sdk/models/text_classification_response.py +87 -0
  574. qanswer_sdk/models/text_classification_v2_payload.py +99 -0
  575. qanswer_sdk/models/text_classification_v2_response.py +95 -0
  576. qanswer_sdk/models/thinking_block.py +91 -0
  577. qanswer_sdk/models/tool_selection.py +89 -0
  578. qanswer_sdk/models/total_stat.py +96 -0
  579. qanswer_sdk/models/ui_mappings.py +141 -0
  580. qanswer_sdk/models/update_file_es_meta_data.py +116 -0
  581. qanswer_sdk/models/update_metadata_model.py +97 -0
  582. qanswer_sdk/models/update_qn_a_pair_request.py +101 -0
  583. qanswer_sdk/models/update_qn_a_pair_response.py +89 -0
  584. qanswer_sdk/models/update_synonyms.py +95 -0
  585. qanswer_sdk/models/update_synonyms_resp.py +89 -0
  586. qanswer_sdk/models/upload_metadata.py +115 -0
  587. qanswer_sdk/models/user_credits_config_dto.py +99 -0
  588. qanswer_sdk/models/user_credits_dto.py +106 -0
  589. qanswer_sdk/models/user_dataset_api_key_dto.py +120 -0
  590. qanswer_sdk/models/user_dataset_mcp_tool_selection_dto.py +100 -0
  591. qanswer_sdk/models/user_dto.py +91 -0
  592. qanswer_sdk/models/user_identity_availability.py +87 -0
  593. qanswer_sdk/models/user_info_dto.py +95 -0
  594. qanswer_sdk/models/user_list_dto.py +101 -0
  595. qanswer_sdk/models/user_log_dto.py +102 -0
  596. qanswer_sdk/models/user_logs_list_dto.py +97 -0
  597. qanswer_sdk/models/user_mcp_tool_selection_dto.py +107 -0
  598. qanswer_sdk/models/user_oauth_token_dto.py +96 -0
  599. qanswer_sdk/models/user_profile_dto.py +199 -0
  600. qanswer_sdk/models/user_profile_list_dto.py +101 -0
  601. qanswer_sdk/models/user_team_dto.py +94 -0
  602. qanswer_sdk/models/validation_error.py +108 -0
  603. qanswer_sdk/models/validation_error_loc_inner.py +138 -0
  604. qanswer_sdk/models/warn_visibility.py +40 -0
  605. qanswer_sdk/models/websearch_connector_config.py +102 -0
  606. qanswer_sdk/models/websearch_scraping_site.py +91 -0
  607. qanswer_sdk/models/website_add_payload.py +102 -0
  608. qanswer_sdk/models/website_connector_config.py +102 -0
  609. qanswer_sdk/models/website_connector_settings.py +123 -0
  610. qanswer_sdk/models/widget_configs.py +109 -0
  611. qanswer_sdk/models/x_wiki_add_request.py +97 -0
  612. qanswer_sdk/models/x_wiki_download_by_ids.py +89 -0
  613. qanswer_sdk/py.typed +0 -0
  614. qanswer_sdk/rest.py +258 -0
  615. qanswer_sdk-0.1.0.dev0.dist-info/METADATA +252 -0
  616. qanswer_sdk-0.1.0.dev0.dist-info/RECORD +618 -0
  617. qanswer_sdk-0.1.0.dev0.dist-info/WHEEL +5 -0
  618. qanswer_sdk-0.1.0.dev0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1866 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ free-text-client
5
+
6
+ QAnswer 2.0 API
7
+
8
+ The version of the OpenAPI document: 2.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictInt, StrictStr
20
+ from typing import List, Optional
21
+ from typing_extensions import Annotated
22
+ from qanswer_sdk.models.aggregations_group import AggregationsGroup
23
+ from qanswer_sdk.models.create_connector_response import CreateConnectorResponse
24
+ from qanswer_sdk.models.create_imap_connector_request import CreateImapConnectorRequest
25
+ from qanswer_sdk.models.email_folder import EmailFolder
26
+ from qanswer_sdk.models.imap_add_payload import ImapAddPayload
27
+ from qanswer_sdk.models.imap_search_response import ImapSearchResponse
28
+ from qanswer_sdk.models.search_index_payload import SearchIndexPayload
29
+ from qanswer_sdk.models.status_response import StatusResponse
30
+ from qanswer_sdk.models.test_imap_connection_payload import TestImapConnectionPayload
31
+
32
+ from qanswer_sdk.api_client import ApiClient, RequestSerialized
33
+ from qanswer_sdk.api_response import ApiResponse
34
+ from qanswer_sdk.rest import RESTResponseType
35
+
36
+
37
+ class ConnectorIMAPAPIApi:
38
+ """NOTE: This class is auto generated by OpenAPI Generator
39
+ Ref: https://openapi-generator.tech
40
+
41
+ Do not edit the class manually.
42
+ """
43
+
44
+ def __init__(self, api_client=None) -> None:
45
+ if api_client is None:
46
+ api_client = ApiClient.get_default()
47
+ self.api_client = api_client
48
+
49
+
50
+ @validate_call
51
+ def add_imap_files(
52
+ self,
53
+ imap_add_payload: ImapAddPayload,
54
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
55
+ _request_timeout: Union[
56
+ None,
57
+ Annotated[StrictFloat, Field(gt=0)],
58
+ Tuple[
59
+ Annotated[StrictFloat, Field(gt=0)],
60
+ Annotated[StrictFloat, Field(gt=0)]
61
+ ]
62
+ ] = None,
63
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
64
+ _content_type: Optional[StrictStr] = None,
65
+ _headers: Optional[Dict[StrictStr, Any]] = None,
66
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
67
+ ) -> StatusResponse:
68
+ """Add Imap Files
69
+
70
+ Add emails to IMAP connector
71
+
72
+ :param imap_add_payload: (required)
73
+ :type imap_add_payload: ImapAddPayload
74
+ :param q_answer_api_key: Optional QAnswer API key
75
+ :type q_answer_api_key: str
76
+ :param _request_timeout: timeout setting for this request. If one
77
+ number provided, it will be total request
78
+ timeout. It can also be a pair (tuple) of
79
+ (connection, read) timeouts.
80
+ :type _request_timeout: int, tuple(int, int), optional
81
+ :param _request_auth: set to override the auth_settings for an a single
82
+ request; this effectively ignores the
83
+ authentication in the spec for a single request.
84
+ :type _request_auth: dict, optional
85
+ :param _content_type: force content-type for the request.
86
+ :type _content_type: str, Optional
87
+ :param _headers: set to override the headers for a single
88
+ request; this effectively ignores the headers
89
+ in the spec for a single request.
90
+ :type _headers: dict, optional
91
+ :param _host_index: set to override the host_index for a single
92
+ request; this effectively ignores the host_index
93
+ in the spec for a single request.
94
+ :type _host_index: int, optional
95
+ :return: Returns the result object.
96
+ """ # noqa: E501
97
+
98
+ _param = self._add_imap_files_serialize(
99
+ imap_add_payload=imap_add_payload,
100
+ q_answer_api_key=q_answer_api_key,
101
+ _request_auth=_request_auth,
102
+ _content_type=_content_type,
103
+ _headers=_headers,
104
+ _host_index=_host_index
105
+ )
106
+
107
+ _response_types_map: Dict[str, Optional[str]] = {
108
+ '200': "StatusResponse",
109
+ '422': "HTTPValidationError",
110
+ }
111
+ response_data = self.api_client.call_api(
112
+ *_param,
113
+ _request_timeout=_request_timeout
114
+ )
115
+ response_data.read()
116
+ return self.api_client.response_deserialize(
117
+ response_data=response_data,
118
+ response_types_map=_response_types_map,
119
+ ).data
120
+
121
+
122
+ @validate_call
123
+ def add_imap_files_with_http_info(
124
+ self,
125
+ imap_add_payload: ImapAddPayload,
126
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
127
+ _request_timeout: Union[
128
+ None,
129
+ Annotated[StrictFloat, Field(gt=0)],
130
+ Tuple[
131
+ Annotated[StrictFloat, Field(gt=0)],
132
+ Annotated[StrictFloat, Field(gt=0)]
133
+ ]
134
+ ] = None,
135
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
136
+ _content_type: Optional[StrictStr] = None,
137
+ _headers: Optional[Dict[StrictStr, Any]] = None,
138
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
139
+ ) -> ApiResponse[StatusResponse]:
140
+ """Add Imap Files
141
+
142
+ Add emails to IMAP connector
143
+
144
+ :param imap_add_payload: (required)
145
+ :type imap_add_payload: ImapAddPayload
146
+ :param q_answer_api_key: Optional QAnswer API key
147
+ :type q_answer_api_key: str
148
+ :param _request_timeout: timeout setting for this request. If one
149
+ number provided, it will be total request
150
+ timeout. It can also be a pair (tuple) of
151
+ (connection, read) timeouts.
152
+ :type _request_timeout: int, tuple(int, int), optional
153
+ :param _request_auth: set to override the auth_settings for an a single
154
+ request; this effectively ignores the
155
+ authentication in the spec for a single request.
156
+ :type _request_auth: dict, optional
157
+ :param _content_type: force content-type for the request.
158
+ :type _content_type: str, Optional
159
+ :param _headers: set to override the headers for a single
160
+ request; this effectively ignores the headers
161
+ in the spec for a single request.
162
+ :type _headers: dict, optional
163
+ :param _host_index: set to override the host_index for a single
164
+ request; this effectively ignores the host_index
165
+ in the spec for a single request.
166
+ :type _host_index: int, optional
167
+ :return: Returns the result object.
168
+ """ # noqa: E501
169
+
170
+ _param = self._add_imap_files_serialize(
171
+ imap_add_payload=imap_add_payload,
172
+ q_answer_api_key=q_answer_api_key,
173
+ _request_auth=_request_auth,
174
+ _content_type=_content_type,
175
+ _headers=_headers,
176
+ _host_index=_host_index
177
+ )
178
+
179
+ _response_types_map: Dict[str, Optional[str]] = {
180
+ '200': "StatusResponse",
181
+ '422': "HTTPValidationError",
182
+ }
183
+ response_data = self.api_client.call_api(
184
+ *_param,
185
+ _request_timeout=_request_timeout
186
+ )
187
+ response_data.read()
188
+ return self.api_client.response_deserialize(
189
+ response_data=response_data,
190
+ response_types_map=_response_types_map,
191
+ )
192
+
193
+
194
+ @validate_call
195
+ def add_imap_files_without_preload_content(
196
+ self,
197
+ imap_add_payload: ImapAddPayload,
198
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
199
+ _request_timeout: Union[
200
+ None,
201
+ Annotated[StrictFloat, Field(gt=0)],
202
+ Tuple[
203
+ Annotated[StrictFloat, Field(gt=0)],
204
+ Annotated[StrictFloat, Field(gt=0)]
205
+ ]
206
+ ] = None,
207
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
208
+ _content_type: Optional[StrictStr] = None,
209
+ _headers: Optional[Dict[StrictStr, Any]] = None,
210
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
211
+ ) -> RESTResponseType:
212
+ """Add Imap Files
213
+
214
+ Add emails to IMAP connector
215
+
216
+ :param imap_add_payload: (required)
217
+ :type imap_add_payload: ImapAddPayload
218
+ :param q_answer_api_key: Optional QAnswer API key
219
+ :type q_answer_api_key: str
220
+ :param _request_timeout: timeout setting for this request. If one
221
+ number provided, it will be total request
222
+ timeout. It can also be a pair (tuple) of
223
+ (connection, read) timeouts.
224
+ :type _request_timeout: int, tuple(int, int), optional
225
+ :param _request_auth: set to override the auth_settings for an a single
226
+ request; this effectively ignores the
227
+ authentication in the spec for a single request.
228
+ :type _request_auth: dict, optional
229
+ :param _content_type: force content-type for the request.
230
+ :type _content_type: str, Optional
231
+ :param _headers: set to override the headers for a single
232
+ request; this effectively ignores the headers
233
+ in the spec for a single request.
234
+ :type _headers: dict, optional
235
+ :param _host_index: set to override the host_index for a single
236
+ request; this effectively ignores the host_index
237
+ in the spec for a single request.
238
+ :type _host_index: int, optional
239
+ :return: Returns the result object.
240
+ """ # noqa: E501
241
+
242
+ _param = self._add_imap_files_serialize(
243
+ imap_add_payload=imap_add_payload,
244
+ q_answer_api_key=q_answer_api_key,
245
+ _request_auth=_request_auth,
246
+ _content_type=_content_type,
247
+ _headers=_headers,
248
+ _host_index=_host_index
249
+ )
250
+
251
+ _response_types_map: Dict[str, Optional[str]] = {
252
+ '200': "StatusResponse",
253
+ '422': "HTTPValidationError",
254
+ }
255
+ response_data = self.api_client.call_api(
256
+ *_param,
257
+ _request_timeout=_request_timeout
258
+ )
259
+ return response_data.response
260
+
261
+
262
+ def _add_imap_files_serialize(
263
+ self,
264
+ imap_add_payload,
265
+ q_answer_api_key,
266
+ _request_auth,
267
+ _content_type,
268
+ _headers,
269
+ _host_index,
270
+ ) -> RequestSerialized:
271
+
272
+ _host = None
273
+
274
+ _collection_formats: Dict[str, str] = {
275
+ }
276
+
277
+ _path_params: Dict[str, str] = {}
278
+ _query_params: List[Tuple[str, str]] = []
279
+ _header_params: Dict[str, Optional[str]] = _headers or {}
280
+ _form_params: List[Tuple[str, str]] = []
281
+ _files: Dict[
282
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
283
+ ] = {}
284
+ _body_params: Optional[bytes] = None
285
+
286
+ # process the path parameters
287
+ # process the query parameters
288
+ # process the header parameters
289
+ if q_answer_api_key is not None:
290
+ _header_params['QAnswer-Api-Key'] = q_answer_api_key
291
+ # process the form parameters
292
+ # process the body parameter
293
+ if imap_add_payload is not None:
294
+ _body_params = imap_add_payload
295
+
296
+
297
+ # set the HTTP header `Accept`
298
+ if 'Accept' not in _header_params:
299
+ _header_params['Accept'] = self.api_client.select_header_accept(
300
+ [
301
+ 'application/json'
302
+ ]
303
+ )
304
+
305
+ # set the HTTP header `Content-Type`
306
+ if _content_type:
307
+ _header_params['Content-Type'] = _content_type
308
+ else:
309
+ _default_content_type = (
310
+ self.api_client.select_header_content_type(
311
+ [
312
+ 'application/json'
313
+ ]
314
+ )
315
+ )
316
+ if _default_content_type is not None:
317
+ _header_params['Content-Type'] = _default_content_type
318
+
319
+ # authentication setting
320
+ _auth_settings: List[str] = [
321
+ 'QAnswer-Api-Key',
322
+ 'Bearer token'
323
+ ]
324
+
325
+ return self.api_client.param_serialize(
326
+ method='POST',
327
+ resource_path='/api/connectors/imap-connector/add',
328
+ path_params=_path_params,
329
+ query_params=_query_params,
330
+ header_params=_header_params,
331
+ body=_body_params,
332
+ post_params=_form_params,
333
+ files=_files,
334
+ auth_settings=_auth_settings,
335
+ collection_formats=_collection_formats,
336
+ _host=_host,
337
+ _request_auth=_request_auth
338
+ )
339
+
340
+
341
+
342
+
343
+ @validate_call
344
+ def create_imap_connector(
345
+ self,
346
+ create_imap_connector_request: CreateImapConnectorRequest,
347
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
348
+ _request_timeout: Union[
349
+ None,
350
+ Annotated[StrictFloat, Field(gt=0)],
351
+ Tuple[
352
+ Annotated[StrictFloat, Field(gt=0)],
353
+ Annotated[StrictFloat, Field(gt=0)]
354
+ ]
355
+ ] = None,
356
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
357
+ _content_type: Optional[StrictStr] = None,
358
+ _headers: Optional[Dict[StrictStr, Any]] = None,
359
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
360
+ ) -> CreateConnectorResponse:
361
+ """Create Imap Connector
362
+
363
+ Create IMAP Connector
364
+
365
+ :param create_imap_connector_request: (required)
366
+ :type create_imap_connector_request: CreateImapConnectorRequest
367
+ :param q_answer_api_key: Optional QAnswer API key
368
+ :type q_answer_api_key: str
369
+ :param _request_timeout: timeout setting for this request. If one
370
+ number provided, it will be total request
371
+ timeout. It can also be a pair (tuple) of
372
+ (connection, read) timeouts.
373
+ :type _request_timeout: int, tuple(int, int), optional
374
+ :param _request_auth: set to override the auth_settings for an a single
375
+ request; this effectively ignores the
376
+ authentication in the spec for a single request.
377
+ :type _request_auth: dict, optional
378
+ :param _content_type: force content-type for the request.
379
+ :type _content_type: str, Optional
380
+ :param _headers: set to override the headers for a single
381
+ request; this effectively ignores the headers
382
+ in the spec for a single request.
383
+ :type _headers: dict, optional
384
+ :param _host_index: set to override the host_index for a single
385
+ request; this effectively ignores the host_index
386
+ in the spec for a single request.
387
+ :type _host_index: int, optional
388
+ :return: Returns the result object.
389
+ """ # noqa: E501
390
+
391
+ _param = self._create_imap_connector_serialize(
392
+ create_imap_connector_request=create_imap_connector_request,
393
+ q_answer_api_key=q_answer_api_key,
394
+ _request_auth=_request_auth,
395
+ _content_type=_content_type,
396
+ _headers=_headers,
397
+ _host_index=_host_index
398
+ )
399
+
400
+ _response_types_map: Dict[str, Optional[str]] = {
401
+ '200': "CreateConnectorResponse",
402
+ '422': "HTTPValidationError",
403
+ }
404
+ response_data = self.api_client.call_api(
405
+ *_param,
406
+ _request_timeout=_request_timeout
407
+ )
408
+ response_data.read()
409
+ return self.api_client.response_deserialize(
410
+ response_data=response_data,
411
+ response_types_map=_response_types_map,
412
+ ).data
413
+
414
+
415
+ @validate_call
416
+ def create_imap_connector_with_http_info(
417
+ self,
418
+ create_imap_connector_request: CreateImapConnectorRequest,
419
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
420
+ _request_timeout: Union[
421
+ None,
422
+ Annotated[StrictFloat, Field(gt=0)],
423
+ Tuple[
424
+ Annotated[StrictFloat, Field(gt=0)],
425
+ Annotated[StrictFloat, Field(gt=0)]
426
+ ]
427
+ ] = None,
428
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
429
+ _content_type: Optional[StrictStr] = None,
430
+ _headers: Optional[Dict[StrictStr, Any]] = None,
431
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
432
+ ) -> ApiResponse[CreateConnectorResponse]:
433
+ """Create Imap Connector
434
+
435
+ Create IMAP Connector
436
+
437
+ :param create_imap_connector_request: (required)
438
+ :type create_imap_connector_request: CreateImapConnectorRequest
439
+ :param q_answer_api_key: Optional QAnswer API key
440
+ :type q_answer_api_key: str
441
+ :param _request_timeout: timeout setting for this request. If one
442
+ number provided, it will be total request
443
+ timeout. It can also be a pair (tuple) of
444
+ (connection, read) timeouts.
445
+ :type _request_timeout: int, tuple(int, int), optional
446
+ :param _request_auth: set to override the auth_settings for an a single
447
+ request; this effectively ignores the
448
+ authentication in the spec for a single request.
449
+ :type _request_auth: dict, optional
450
+ :param _content_type: force content-type for the request.
451
+ :type _content_type: str, Optional
452
+ :param _headers: set to override the headers for a single
453
+ request; this effectively ignores the headers
454
+ in the spec for a single request.
455
+ :type _headers: dict, optional
456
+ :param _host_index: set to override the host_index for a single
457
+ request; this effectively ignores the host_index
458
+ in the spec for a single request.
459
+ :type _host_index: int, optional
460
+ :return: Returns the result object.
461
+ """ # noqa: E501
462
+
463
+ _param = self._create_imap_connector_serialize(
464
+ create_imap_connector_request=create_imap_connector_request,
465
+ q_answer_api_key=q_answer_api_key,
466
+ _request_auth=_request_auth,
467
+ _content_type=_content_type,
468
+ _headers=_headers,
469
+ _host_index=_host_index
470
+ )
471
+
472
+ _response_types_map: Dict[str, Optional[str]] = {
473
+ '200': "CreateConnectorResponse",
474
+ '422': "HTTPValidationError",
475
+ }
476
+ response_data = self.api_client.call_api(
477
+ *_param,
478
+ _request_timeout=_request_timeout
479
+ )
480
+ response_data.read()
481
+ return self.api_client.response_deserialize(
482
+ response_data=response_data,
483
+ response_types_map=_response_types_map,
484
+ )
485
+
486
+
487
+ @validate_call
488
+ def create_imap_connector_without_preload_content(
489
+ self,
490
+ create_imap_connector_request: CreateImapConnectorRequest,
491
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
492
+ _request_timeout: Union[
493
+ None,
494
+ Annotated[StrictFloat, Field(gt=0)],
495
+ Tuple[
496
+ Annotated[StrictFloat, Field(gt=0)],
497
+ Annotated[StrictFloat, Field(gt=0)]
498
+ ]
499
+ ] = None,
500
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
501
+ _content_type: Optional[StrictStr] = None,
502
+ _headers: Optional[Dict[StrictStr, Any]] = None,
503
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
504
+ ) -> RESTResponseType:
505
+ """Create Imap Connector
506
+
507
+ Create IMAP Connector
508
+
509
+ :param create_imap_connector_request: (required)
510
+ :type create_imap_connector_request: CreateImapConnectorRequest
511
+ :param q_answer_api_key: Optional QAnswer API key
512
+ :type q_answer_api_key: str
513
+ :param _request_timeout: timeout setting for this request. If one
514
+ number provided, it will be total request
515
+ timeout. It can also be a pair (tuple) of
516
+ (connection, read) timeouts.
517
+ :type _request_timeout: int, tuple(int, int), optional
518
+ :param _request_auth: set to override the auth_settings for an a single
519
+ request; this effectively ignores the
520
+ authentication in the spec for a single request.
521
+ :type _request_auth: dict, optional
522
+ :param _content_type: force content-type for the request.
523
+ :type _content_type: str, Optional
524
+ :param _headers: set to override the headers for a single
525
+ request; this effectively ignores the headers
526
+ in the spec for a single request.
527
+ :type _headers: dict, optional
528
+ :param _host_index: set to override the host_index for a single
529
+ request; this effectively ignores the host_index
530
+ in the spec for a single request.
531
+ :type _host_index: int, optional
532
+ :return: Returns the result object.
533
+ """ # noqa: E501
534
+
535
+ _param = self._create_imap_connector_serialize(
536
+ create_imap_connector_request=create_imap_connector_request,
537
+ q_answer_api_key=q_answer_api_key,
538
+ _request_auth=_request_auth,
539
+ _content_type=_content_type,
540
+ _headers=_headers,
541
+ _host_index=_host_index
542
+ )
543
+
544
+ _response_types_map: Dict[str, Optional[str]] = {
545
+ '200': "CreateConnectorResponse",
546
+ '422': "HTTPValidationError",
547
+ }
548
+ response_data = self.api_client.call_api(
549
+ *_param,
550
+ _request_timeout=_request_timeout
551
+ )
552
+ return response_data.response
553
+
554
+
555
+ def _create_imap_connector_serialize(
556
+ self,
557
+ create_imap_connector_request,
558
+ q_answer_api_key,
559
+ _request_auth,
560
+ _content_type,
561
+ _headers,
562
+ _host_index,
563
+ ) -> RequestSerialized:
564
+
565
+ _host = None
566
+
567
+ _collection_formats: Dict[str, str] = {
568
+ }
569
+
570
+ _path_params: Dict[str, str] = {}
571
+ _query_params: List[Tuple[str, str]] = []
572
+ _header_params: Dict[str, Optional[str]] = _headers or {}
573
+ _form_params: List[Tuple[str, str]] = []
574
+ _files: Dict[
575
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
576
+ ] = {}
577
+ _body_params: Optional[bytes] = None
578
+
579
+ # process the path parameters
580
+ # process the query parameters
581
+ # process the header parameters
582
+ if q_answer_api_key is not None:
583
+ _header_params['QAnswer-Api-Key'] = q_answer_api_key
584
+ # process the form parameters
585
+ # process the body parameter
586
+ if create_imap_connector_request is not None:
587
+ _body_params = create_imap_connector_request
588
+
589
+
590
+ # set the HTTP header `Accept`
591
+ if 'Accept' not in _header_params:
592
+ _header_params['Accept'] = self.api_client.select_header_accept(
593
+ [
594
+ 'application/json'
595
+ ]
596
+ )
597
+
598
+ # set the HTTP header `Content-Type`
599
+ if _content_type:
600
+ _header_params['Content-Type'] = _content_type
601
+ else:
602
+ _default_content_type = (
603
+ self.api_client.select_header_content_type(
604
+ [
605
+ 'application/json'
606
+ ]
607
+ )
608
+ )
609
+ if _default_content_type is not None:
610
+ _header_params['Content-Type'] = _default_content_type
611
+
612
+ # authentication setting
613
+ _auth_settings: List[str] = [
614
+ 'QAnswer-Api-Key',
615
+ 'Bearer token'
616
+ ]
617
+
618
+ return self.api_client.param_serialize(
619
+ method='POST',
620
+ resource_path='/api/connectors/imap-connector/create',
621
+ path_params=_path_params,
622
+ query_params=_query_params,
623
+ header_params=_header_params,
624
+ body=_body_params,
625
+ post_params=_form_params,
626
+ files=_files,
627
+ auth_settings=_auth_settings,
628
+ collection_formats=_collection_formats,
629
+ _host=_host,
630
+ _request_auth=_request_auth
631
+ )
632
+
633
+
634
+
635
+
636
+ @validate_call
637
+ def get_imap_aggregations(
638
+ self,
639
+ username: StrictStr,
640
+ dataset: StrictStr,
641
+ connector_id: StrictInt,
642
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
643
+ _request_timeout: Union[
644
+ None,
645
+ Annotated[StrictFloat, Field(gt=0)],
646
+ Tuple[
647
+ Annotated[StrictFloat, Field(gt=0)],
648
+ Annotated[StrictFloat, Field(gt=0)]
649
+ ]
650
+ ] = None,
651
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
652
+ _content_type: Optional[StrictStr] = None,
653
+ _headers: Optional[Dict[StrictStr, Any]] = None,
654
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
655
+ ) -> List[AggregationsGroup]:
656
+ """Get Imap Aggregations
657
+
658
+ Get IMAP filter definitions (aggregations)
659
+
660
+ :param username: (required)
661
+ :type username: str
662
+ :param dataset: (required)
663
+ :type dataset: str
664
+ :param connector_id: (required)
665
+ :type connector_id: int
666
+ :param q_answer_api_key: Optional QAnswer API key
667
+ :type q_answer_api_key: str
668
+ :param _request_timeout: timeout setting for this request. If one
669
+ number provided, it will be total request
670
+ timeout. It can also be a pair (tuple) of
671
+ (connection, read) timeouts.
672
+ :type _request_timeout: int, tuple(int, int), optional
673
+ :param _request_auth: set to override the auth_settings for an a single
674
+ request; this effectively ignores the
675
+ authentication in the spec for a single request.
676
+ :type _request_auth: dict, optional
677
+ :param _content_type: force content-type for the request.
678
+ :type _content_type: str, Optional
679
+ :param _headers: set to override the headers for a single
680
+ request; this effectively ignores the headers
681
+ in the spec for a single request.
682
+ :type _headers: dict, optional
683
+ :param _host_index: set to override the host_index for a single
684
+ request; this effectively ignores the host_index
685
+ in the spec for a single request.
686
+ :type _host_index: int, optional
687
+ :return: Returns the result object.
688
+ """ # noqa: E501
689
+
690
+ _param = self._get_imap_aggregations_serialize(
691
+ username=username,
692
+ dataset=dataset,
693
+ connector_id=connector_id,
694
+ q_answer_api_key=q_answer_api_key,
695
+ _request_auth=_request_auth,
696
+ _content_type=_content_type,
697
+ _headers=_headers,
698
+ _host_index=_host_index
699
+ )
700
+
701
+ _response_types_map: Dict[str, Optional[str]] = {
702
+ '200': "List[AggregationsGroup]",
703
+ '422': "HTTPValidationError",
704
+ }
705
+ response_data = self.api_client.call_api(
706
+ *_param,
707
+ _request_timeout=_request_timeout
708
+ )
709
+ response_data.read()
710
+ return self.api_client.response_deserialize(
711
+ response_data=response_data,
712
+ response_types_map=_response_types_map,
713
+ ).data
714
+
715
+
716
+ @validate_call
717
+ def get_imap_aggregations_with_http_info(
718
+ self,
719
+ username: StrictStr,
720
+ dataset: StrictStr,
721
+ connector_id: StrictInt,
722
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
723
+ _request_timeout: Union[
724
+ None,
725
+ Annotated[StrictFloat, Field(gt=0)],
726
+ Tuple[
727
+ Annotated[StrictFloat, Field(gt=0)],
728
+ Annotated[StrictFloat, Field(gt=0)]
729
+ ]
730
+ ] = None,
731
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
732
+ _content_type: Optional[StrictStr] = None,
733
+ _headers: Optional[Dict[StrictStr, Any]] = None,
734
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
735
+ ) -> ApiResponse[List[AggregationsGroup]]:
736
+ """Get Imap Aggregations
737
+
738
+ Get IMAP filter definitions (aggregations)
739
+
740
+ :param username: (required)
741
+ :type username: str
742
+ :param dataset: (required)
743
+ :type dataset: str
744
+ :param connector_id: (required)
745
+ :type connector_id: int
746
+ :param q_answer_api_key: Optional QAnswer API key
747
+ :type q_answer_api_key: str
748
+ :param _request_timeout: timeout setting for this request. If one
749
+ number provided, it will be total request
750
+ timeout. It can also be a pair (tuple) of
751
+ (connection, read) timeouts.
752
+ :type _request_timeout: int, tuple(int, int), optional
753
+ :param _request_auth: set to override the auth_settings for an a single
754
+ request; this effectively ignores the
755
+ authentication in the spec for a single request.
756
+ :type _request_auth: dict, optional
757
+ :param _content_type: force content-type for the request.
758
+ :type _content_type: str, Optional
759
+ :param _headers: set to override the headers for a single
760
+ request; this effectively ignores the headers
761
+ in the spec for a single request.
762
+ :type _headers: dict, optional
763
+ :param _host_index: set to override the host_index for a single
764
+ request; this effectively ignores the host_index
765
+ in the spec for a single request.
766
+ :type _host_index: int, optional
767
+ :return: Returns the result object.
768
+ """ # noqa: E501
769
+
770
+ _param = self._get_imap_aggregations_serialize(
771
+ username=username,
772
+ dataset=dataset,
773
+ connector_id=connector_id,
774
+ q_answer_api_key=q_answer_api_key,
775
+ _request_auth=_request_auth,
776
+ _content_type=_content_type,
777
+ _headers=_headers,
778
+ _host_index=_host_index
779
+ )
780
+
781
+ _response_types_map: Dict[str, Optional[str]] = {
782
+ '200': "List[AggregationsGroup]",
783
+ '422': "HTTPValidationError",
784
+ }
785
+ response_data = self.api_client.call_api(
786
+ *_param,
787
+ _request_timeout=_request_timeout
788
+ )
789
+ response_data.read()
790
+ return self.api_client.response_deserialize(
791
+ response_data=response_data,
792
+ response_types_map=_response_types_map,
793
+ )
794
+
795
+
796
+ @validate_call
797
+ def get_imap_aggregations_without_preload_content(
798
+ self,
799
+ username: StrictStr,
800
+ dataset: StrictStr,
801
+ connector_id: StrictInt,
802
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
803
+ _request_timeout: Union[
804
+ None,
805
+ Annotated[StrictFloat, Field(gt=0)],
806
+ Tuple[
807
+ Annotated[StrictFloat, Field(gt=0)],
808
+ Annotated[StrictFloat, Field(gt=0)]
809
+ ]
810
+ ] = None,
811
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
812
+ _content_type: Optional[StrictStr] = None,
813
+ _headers: Optional[Dict[StrictStr, Any]] = None,
814
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
815
+ ) -> RESTResponseType:
816
+ """Get Imap Aggregations
817
+
818
+ Get IMAP filter definitions (aggregations)
819
+
820
+ :param username: (required)
821
+ :type username: str
822
+ :param dataset: (required)
823
+ :type dataset: str
824
+ :param connector_id: (required)
825
+ :type connector_id: int
826
+ :param q_answer_api_key: Optional QAnswer API key
827
+ :type q_answer_api_key: str
828
+ :param _request_timeout: timeout setting for this request. If one
829
+ number provided, it will be total request
830
+ timeout. It can also be a pair (tuple) of
831
+ (connection, read) timeouts.
832
+ :type _request_timeout: int, tuple(int, int), optional
833
+ :param _request_auth: set to override the auth_settings for an a single
834
+ request; this effectively ignores the
835
+ authentication in the spec for a single request.
836
+ :type _request_auth: dict, optional
837
+ :param _content_type: force content-type for the request.
838
+ :type _content_type: str, Optional
839
+ :param _headers: set to override the headers for a single
840
+ request; this effectively ignores the headers
841
+ in the spec for a single request.
842
+ :type _headers: dict, optional
843
+ :param _host_index: set to override the host_index for a single
844
+ request; this effectively ignores the host_index
845
+ in the spec for a single request.
846
+ :type _host_index: int, optional
847
+ :return: Returns the result object.
848
+ """ # noqa: E501
849
+
850
+ _param = self._get_imap_aggregations_serialize(
851
+ username=username,
852
+ dataset=dataset,
853
+ connector_id=connector_id,
854
+ q_answer_api_key=q_answer_api_key,
855
+ _request_auth=_request_auth,
856
+ _content_type=_content_type,
857
+ _headers=_headers,
858
+ _host_index=_host_index
859
+ )
860
+
861
+ _response_types_map: Dict[str, Optional[str]] = {
862
+ '200': "List[AggregationsGroup]",
863
+ '422': "HTTPValidationError",
864
+ }
865
+ response_data = self.api_client.call_api(
866
+ *_param,
867
+ _request_timeout=_request_timeout
868
+ )
869
+ return response_data.response
870
+
871
+
872
+ def _get_imap_aggregations_serialize(
873
+ self,
874
+ username,
875
+ dataset,
876
+ connector_id,
877
+ q_answer_api_key,
878
+ _request_auth,
879
+ _content_type,
880
+ _headers,
881
+ _host_index,
882
+ ) -> RequestSerialized:
883
+
884
+ _host = None
885
+
886
+ _collection_formats: Dict[str, str] = {
887
+ }
888
+
889
+ _path_params: Dict[str, str] = {}
890
+ _query_params: List[Tuple[str, str]] = []
891
+ _header_params: Dict[str, Optional[str]] = _headers or {}
892
+ _form_params: List[Tuple[str, str]] = []
893
+ _files: Dict[
894
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
895
+ ] = {}
896
+ _body_params: Optional[bytes] = None
897
+
898
+ # process the path parameters
899
+ # process the query parameters
900
+ if username is not None:
901
+
902
+ _query_params.append(('username', username))
903
+
904
+ if dataset is not None:
905
+
906
+ _query_params.append(('dataset', dataset))
907
+
908
+ if connector_id is not None:
909
+
910
+ _query_params.append(('connector_id', connector_id))
911
+
912
+ # process the header parameters
913
+ if q_answer_api_key is not None:
914
+ _header_params['QAnswer-Api-Key'] = q_answer_api_key
915
+ # process the form parameters
916
+ # process the body parameter
917
+
918
+
919
+ # set the HTTP header `Accept`
920
+ if 'Accept' not in _header_params:
921
+ _header_params['Accept'] = self.api_client.select_header_accept(
922
+ [
923
+ 'application/json'
924
+ ]
925
+ )
926
+
927
+
928
+ # authentication setting
929
+ _auth_settings: List[str] = [
930
+ 'QAnswer-Api-Key',
931
+ 'Bearer token'
932
+ ]
933
+
934
+ return self.api_client.param_serialize(
935
+ method='GET',
936
+ resource_path='/api/connectors/imap-connector/filter-definitions',
937
+ path_params=_path_params,
938
+ query_params=_query_params,
939
+ header_params=_header_params,
940
+ body=_body_params,
941
+ post_params=_form_params,
942
+ files=_files,
943
+ auth_settings=_auth_settings,
944
+ collection_formats=_collection_formats,
945
+ _host=_host,
946
+ _request_auth=_request_auth
947
+ )
948
+
949
+
950
+
951
+
952
+ @validate_call
953
+ def refresh_imap_connector(
954
+ self,
955
+ username: StrictStr,
956
+ dataset: StrictStr,
957
+ connector_id: StrictInt,
958
+ quota: Optional[StrictInt] = None,
959
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
960
+ _request_timeout: Union[
961
+ None,
962
+ Annotated[StrictFloat, Field(gt=0)],
963
+ Tuple[
964
+ Annotated[StrictFloat, Field(gt=0)],
965
+ Annotated[StrictFloat, Field(gt=0)]
966
+ ]
967
+ ] = None,
968
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
969
+ _content_type: Optional[StrictStr] = None,
970
+ _headers: Optional[Dict[StrictStr, Any]] = None,
971
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
972
+ ) -> StatusResponse:
973
+ """Refresh Imap Connector
974
+
975
+ Refresh IMAP connector by fetching new emails
976
+
977
+ :param username: (required)
978
+ :type username: str
979
+ :param dataset: (required)
980
+ :type dataset: str
981
+ :param connector_id: (required)
982
+ :type connector_id: int
983
+ :param quota:
984
+ :type quota: int
985
+ :param q_answer_api_key: Optional QAnswer API key
986
+ :type q_answer_api_key: str
987
+ :param _request_timeout: timeout setting for this request. If one
988
+ number provided, it will be total request
989
+ timeout. It can also be a pair (tuple) of
990
+ (connection, read) timeouts.
991
+ :type _request_timeout: int, tuple(int, int), optional
992
+ :param _request_auth: set to override the auth_settings for an a single
993
+ request; this effectively ignores the
994
+ authentication in the spec for a single request.
995
+ :type _request_auth: dict, optional
996
+ :param _content_type: force content-type for the request.
997
+ :type _content_type: str, Optional
998
+ :param _headers: set to override the headers for a single
999
+ request; this effectively ignores the headers
1000
+ in the spec for a single request.
1001
+ :type _headers: dict, optional
1002
+ :param _host_index: set to override the host_index for a single
1003
+ request; this effectively ignores the host_index
1004
+ in the spec for a single request.
1005
+ :type _host_index: int, optional
1006
+ :return: Returns the result object.
1007
+ """ # noqa: E501
1008
+
1009
+ _param = self._refresh_imap_connector_serialize(
1010
+ username=username,
1011
+ dataset=dataset,
1012
+ connector_id=connector_id,
1013
+ quota=quota,
1014
+ q_answer_api_key=q_answer_api_key,
1015
+ _request_auth=_request_auth,
1016
+ _content_type=_content_type,
1017
+ _headers=_headers,
1018
+ _host_index=_host_index
1019
+ )
1020
+
1021
+ _response_types_map: Dict[str, Optional[str]] = {
1022
+ '200': "StatusResponse",
1023
+ '422': "HTTPValidationError",
1024
+ }
1025
+ response_data = self.api_client.call_api(
1026
+ *_param,
1027
+ _request_timeout=_request_timeout
1028
+ )
1029
+ response_data.read()
1030
+ return self.api_client.response_deserialize(
1031
+ response_data=response_data,
1032
+ response_types_map=_response_types_map,
1033
+ ).data
1034
+
1035
+
1036
+ @validate_call
1037
+ def refresh_imap_connector_with_http_info(
1038
+ self,
1039
+ username: StrictStr,
1040
+ dataset: StrictStr,
1041
+ connector_id: StrictInt,
1042
+ quota: Optional[StrictInt] = None,
1043
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
1044
+ _request_timeout: Union[
1045
+ None,
1046
+ Annotated[StrictFloat, Field(gt=0)],
1047
+ Tuple[
1048
+ Annotated[StrictFloat, Field(gt=0)],
1049
+ Annotated[StrictFloat, Field(gt=0)]
1050
+ ]
1051
+ ] = None,
1052
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1053
+ _content_type: Optional[StrictStr] = None,
1054
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1055
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1056
+ ) -> ApiResponse[StatusResponse]:
1057
+ """Refresh Imap Connector
1058
+
1059
+ Refresh IMAP connector by fetching new emails
1060
+
1061
+ :param username: (required)
1062
+ :type username: str
1063
+ :param dataset: (required)
1064
+ :type dataset: str
1065
+ :param connector_id: (required)
1066
+ :type connector_id: int
1067
+ :param quota:
1068
+ :type quota: int
1069
+ :param q_answer_api_key: Optional QAnswer API key
1070
+ :type q_answer_api_key: str
1071
+ :param _request_timeout: timeout setting for this request. If one
1072
+ number provided, it will be total request
1073
+ timeout. It can also be a pair (tuple) of
1074
+ (connection, read) timeouts.
1075
+ :type _request_timeout: int, tuple(int, int), optional
1076
+ :param _request_auth: set to override the auth_settings for an a single
1077
+ request; this effectively ignores the
1078
+ authentication in the spec for a single request.
1079
+ :type _request_auth: dict, optional
1080
+ :param _content_type: force content-type for the request.
1081
+ :type _content_type: str, Optional
1082
+ :param _headers: set to override the headers for a single
1083
+ request; this effectively ignores the headers
1084
+ in the spec for a single request.
1085
+ :type _headers: dict, optional
1086
+ :param _host_index: set to override the host_index for a single
1087
+ request; this effectively ignores the host_index
1088
+ in the spec for a single request.
1089
+ :type _host_index: int, optional
1090
+ :return: Returns the result object.
1091
+ """ # noqa: E501
1092
+
1093
+ _param = self._refresh_imap_connector_serialize(
1094
+ username=username,
1095
+ dataset=dataset,
1096
+ connector_id=connector_id,
1097
+ quota=quota,
1098
+ q_answer_api_key=q_answer_api_key,
1099
+ _request_auth=_request_auth,
1100
+ _content_type=_content_type,
1101
+ _headers=_headers,
1102
+ _host_index=_host_index
1103
+ )
1104
+
1105
+ _response_types_map: Dict[str, Optional[str]] = {
1106
+ '200': "StatusResponse",
1107
+ '422': "HTTPValidationError",
1108
+ }
1109
+ response_data = self.api_client.call_api(
1110
+ *_param,
1111
+ _request_timeout=_request_timeout
1112
+ )
1113
+ response_data.read()
1114
+ return self.api_client.response_deserialize(
1115
+ response_data=response_data,
1116
+ response_types_map=_response_types_map,
1117
+ )
1118
+
1119
+
1120
+ @validate_call
1121
+ def refresh_imap_connector_without_preload_content(
1122
+ self,
1123
+ username: StrictStr,
1124
+ dataset: StrictStr,
1125
+ connector_id: StrictInt,
1126
+ quota: Optional[StrictInt] = None,
1127
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
1128
+ _request_timeout: Union[
1129
+ None,
1130
+ Annotated[StrictFloat, Field(gt=0)],
1131
+ Tuple[
1132
+ Annotated[StrictFloat, Field(gt=0)],
1133
+ Annotated[StrictFloat, Field(gt=0)]
1134
+ ]
1135
+ ] = None,
1136
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1137
+ _content_type: Optional[StrictStr] = None,
1138
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1139
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1140
+ ) -> RESTResponseType:
1141
+ """Refresh Imap Connector
1142
+
1143
+ Refresh IMAP connector by fetching new emails
1144
+
1145
+ :param username: (required)
1146
+ :type username: str
1147
+ :param dataset: (required)
1148
+ :type dataset: str
1149
+ :param connector_id: (required)
1150
+ :type connector_id: int
1151
+ :param quota:
1152
+ :type quota: int
1153
+ :param q_answer_api_key: Optional QAnswer API key
1154
+ :type q_answer_api_key: str
1155
+ :param _request_timeout: timeout setting for this request. If one
1156
+ number provided, it will be total request
1157
+ timeout. It can also be a pair (tuple) of
1158
+ (connection, read) timeouts.
1159
+ :type _request_timeout: int, tuple(int, int), optional
1160
+ :param _request_auth: set to override the auth_settings for an a single
1161
+ request; this effectively ignores the
1162
+ authentication in the spec for a single request.
1163
+ :type _request_auth: dict, optional
1164
+ :param _content_type: force content-type for the request.
1165
+ :type _content_type: str, Optional
1166
+ :param _headers: set to override the headers for a single
1167
+ request; this effectively ignores the headers
1168
+ in the spec for a single request.
1169
+ :type _headers: dict, optional
1170
+ :param _host_index: set to override the host_index for a single
1171
+ request; this effectively ignores the host_index
1172
+ in the spec for a single request.
1173
+ :type _host_index: int, optional
1174
+ :return: Returns the result object.
1175
+ """ # noqa: E501
1176
+
1177
+ _param = self._refresh_imap_connector_serialize(
1178
+ username=username,
1179
+ dataset=dataset,
1180
+ connector_id=connector_id,
1181
+ quota=quota,
1182
+ q_answer_api_key=q_answer_api_key,
1183
+ _request_auth=_request_auth,
1184
+ _content_type=_content_type,
1185
+ _headers=_headers,
1186
+ _host_index=_host_index
1187
+ )
1188
+
1189
+ _response_types_map: Dict[str, Optional[str]] = {
1190
+ '200': "StatusResponse",
1191
+ '422': "HTTPValidationError",
1192
+ }
1193
+ response_data = self.api_client.call_api(
1194
+ *_param,
1195
+ _request_timeout=_request_timeout
1196
+ )
1197
+ return response_data.response
1198
+
1199
+
1200
+ def _refresh_imap_connector_serialize(
1201
+ self,
1202
+ username,
1203
+ dataset,
1204
+ connector_id,
1205
+ quota,
1206
+ q_answer_api_key,
1207
+ _request_auth,
1208
+ _content_type,
1209
+ _headers,
1210
+ _host_index,
1211
+ ) -> RequestSerialized:
1212
+
1213
+ _host = None
1214
+
1215
+ _collection_formats: Dict[str, str] = {
1216
+ }
1217
+
1218
+ _path_params: Dict[str, str] = {}
1219
+ _query_params: List[Tuple[str, str]] = []
1220
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1221
+ _form_params: List[Tuple[str, str]] = []
1222
+ _files: Dict[
1223
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1224
+ ] = {}
1225
+ _body_params: Optional[bytes] = None
1226
+
1227
+ # process the path parameters
1228
+ # process the query parameters
1229
+ if username is not None:
1230
+
1231
+ _query_params.append(('username', username))
1232
+
1233
+ if dataset is not None:
1234
+
1235
+ _query_params.append(('dataset', dataset))
1236
+
1237
+ if connector_id is not None:
1238
+
1239
+ _query_params.append(('connector_id', connector_id))
1240
+
1241
+ if quota is not None:
1242
+
1243
+ _query_params.append(('quota', quota))
1244
+
1245
+ # process the header parameters
1246
+ if q_answer_api_key is not None:
1247
+ _header_params['QAnswer-Api-Key'] = q_answer_api_key
1248
+ # process the form parameters
1249
+ # process the body parameter
1250
+
1251
+
1252
+ # set the HTTP header `Accept`
1253
+ if 'Accept' not in _header_params:
1254
+ _header_params['Accept'] = self.api_client.select_header_accept(
1255
+ [
1256
+ 'application/json'
1257
+ ]
1258
+ )
1259
+
1260
+
1261
+ # authentication setting
1262
+ _auth_settings: List[str] = [
1263
+ 'QAnswer-Api-Key',
1264
+ 'Bearer token'
1265
+ ]
1266
+
1267
+ return self.api_client.param_serialize(
1268
+ method='POST',
1269
+ resource_path='/api/connectors/imap-connector/refresh',
1270
+ path_params=_path_params,
1271
+ query_params=_query_params,
1272
+ header_params=_header_params,
1273
+ body=_body_params,
1274
+ post_params=_form_params,
1275
+ files=_files,
1276
+ auth_settings=_auth_settings,
1277
+ collection_formats=_collection_formats,
1278
+ _host=_host,
1279
+ _request_auth=_request_auth
1280
+ )
1281
+
1282
+
1283
+
1284
+
1285
+ @validate_call
1286
+ def search_for_imap_emails(
1287
+ self,
1288
+ search_index_payload: SearchIndexPayload,
1289
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
1290
+ _request_timeout: Union[
1291
+ None,
1292
+ Annotated[StrictFloat, Field(gt=0)],
1293
+ Tuple[
1294
+ Annotated[StrictFloat, Field(gt=0)],
1295
+ Annotated[StrictFloat, Field(gt=0)]
1296
+ ]
1297
+ ] = None,
1298
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1299
+ _content_type: Optional[StrictStr] = None,
1300
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1301
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1302
+ ) -> ImapSearchResponse:
1303
+ """Search For Imap Emails
1304
+
1305
+ Search for emails in IMAP connector
1306
+
1307
+ :param search_index_payload: (required)
1308
+ :type search_index_payload: SearchIndexPayload
1309
+ :param q_answer_api_key: Optional QAnswer API key
1310
+ :type q_answer_api_key: str
1311
+ :param _request_timeout: timeout setting for this request. If one
1312
+ number provided, it will be total request
1313
+ timeout. It can also be a pair (tuple) of
1314
+ (connection, read) timeouts.
1315
+ :type _request_timeout: int, tuple(int, int), optional
1316
+ :param _request_auth: set to override the auth_settings for an a single
1317
+ request; this effectively ignores the
1318
+ authentication in the spec for a single request.
1319
+ :type _request_auth: dict, optional
1320
+ :param _content_type: force content-type for the request.
1321
+ :type _content_type: str, Optional
1322
+ :param _headers: set to override the headers for a single
1323
+ request; this effectively ignores the headers
1324
+ in the spec for a single request.
1325
+ :type _headers: dict, optional
1326
+ :param _host_index: set to override the host_index for a single
1327
+ request; this effectively ignores the host_index
1328
+ in the spec for a single request.
1329
+ :type _host_index: int, optional
1330
+ :return: Returns the result object.
1331
+ """ # noqa: E501
1332
+
1333
+ _param = self._search_for_imap_emails_serialize(
1334
+ search_index_payload=search_index_payload,
1335
+ q_answer_api_key=q_answer_api_key,
1336
+ _request_auth=_request_auth,
1337
+ _content_type=_content_type,
1338
+ _headers=_headers,
1339
+ _host_index=_host_index
1340
+ )
1341
+
1342
+ _response_types_map: Dict[str, Optional[str]] = {
1343
+ '200': "ImapSearchResponse",
1344
+ '422': "HTTPValidationError",
1345
+ }
1346
+ response_data = self.api_client.call_api(
1347
+ *_param,
1348
+ _request_timeout=_request_timeout
1349
+ )
1350
+ response_data.read()
1351
+ return self.api_client.response_deserialize(
1352
+ response_data=response_data,
1353
+ response_types_map=_response_types_map,
1354
+ ).data
1355
+
1356
+
1357
+ @validate_call
1358
+ def search_for_imap_emails_with_http_info(
1359
+ self,
1360
+ search_index_payload: SearchIndexPayload,
1361
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
1362
+ _request_timeout: Union[
1363
+ None,
1364
+ Annotated[StrictFloat, Field(gt=0)],
1365
+ Tuple[
1366
+ Annotated[StrictFloat, Field(gt=0)],
1367
+ Annotated[StrictFloat, Field(gt=0)]
1368
+ ]
1369
+ ] = None,
1370
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1371
+ _content_type: Optional[StrictStr] = None,
1372
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1373
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1374
+ ) -> ApiResponse[ImapSearchResponse]:
1375
+ """Search For Imap Emails
1376
+
1377
+ Search for emails in IMAP connector
1378
+
1379
+ :param search_index_payload: (required)
1380
+ :type search_index_payload: SearchIndexPayload
1381
+ :param q_answer_api_key: Optional QAnswer API key
1382
+ :type q_answer_api_key: str
1383
+ :param _request_timeout: timeout setting for this request. If one
1384
+ number provided, it will be total request
1385
+ timeout. It can also be a pair (tuple) of
1386
+ (connection, read) timeouts.
1387
+ :type _request_timeout: int, tuple(int, int), optional
1388
+ :param _request_auth: set to override the auth_settings for an a single
1389
+ request; this effectively ignores the
1390
+ authentication in the spec for a single request.
1391
+ :type _request_auth: dict, optional
1392
+ :param _content_type: force content-type for the request.
1393
+ :type _content_type: str, Optional
1394
+ :param _headers: set to override the headers for a single
1395
+ request; this effectively ignores the headers
1396
+ in the spec for a single request.
1397
+ :type _headers: dict, optional
1398
+ :param _host_index: set to override the host_index for a single
1399
+ request; this effectively ignores the host_index
1400
+ in the spec for a single request.
1401
+ :type _host_index: int, optional
1402
+ :return: Returns the result object.
1403
+ """ # noqa: E501
1404
+
1405
+ _param = self._search_for_imap_emails_serialize(
1406
+ search_index_payload=search_index_payload,
1407
+ q_answer_api_key=q_answer_api_key,
1408
+ _request_auth=_request_auth,
1409
+ _content_type=_content_type,
1410
+ _headers=_headers,
1411
+ _host_index=_host_index
1412
+ )
1413
+
1414
+ _response_types_map: Dict[str, Optional[str]] = {
1415
+ '200': "ImapSearchResponse",
1416
+ '422': "HTTPValidationError",
1417
+ }
1418
+ response_data = self.api_client.call_api(
1419
+ *_param,
1420
+ _request_timeout=_request_timeout
1421
+ )
1422
+ response_data.read()
1423
+ return self.api_client.response_deserialize(
1424
+ response_data=response_data,
1425
+ response_types_map=_response_types_map,
1426
+ )
1427
+
1428
+
1429
+ @validate_call
1430
+ def search_for_imap_emails_without_preload_content(
1431
+ self,
1432
+ search_index_payload: SearchIndexPayload,
1433
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
1434
+ _request_timeout: Union[
1435
+ None,
1436
+ Annotated[StrictFloat, Field(gt=0)],
1437
+ Tuple[
1438
+ Annotated[StrictFloat, Field(gt=0)],
1439
+ Annotated[StrictFloat, Field(gt=0)]
1440
+ ]
1441
+ ] = None,
1442
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1443
+ _content_type: Optional[StrictStr] = None,
1444
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1445
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1446
+ ) -> RESTResponseType:
1447
+ """Search For Imap Emails
1448
+
1449
+ Search for emails in IMAP connector
1450
+
1451
+ :param search_index_payload: (required)
1452
+ :type search_index_payload: SearchIndexPayload
1453
+ :param q_answer_api_key: Optional QAnswer API key
1454
+ :type q_answer_api_key: str
1455
+ :param _request_timeout: timeout setting for this request. If one
1456
+ number provided, it will be total request
1457
+ timeout. It can also be a pair (tuple) of
1458
+ (connection, read) timeouts.
1459
+ :type _request_timeout: int, tuple(int, int), optional
1460
+ :param _request_auth: set to override the auth_settings for an a single
1461
+ request; this effectively ignores the
1462
+ authentication in the spec for a single request.
1463
+ :type _request_auth: dict, optional
1464
+ :param _content_type: force content-type for the request.
1465
+ :type _content_type: str, Optional
1466
+ :param _headers: set to override the headers for a single
1467
+ request; this effectively ignores the headers
1468
+ in the spec for a single request.
1469
+ :type _headers: dict, optional
1470
+ :param _host_index: set to override the host_index for a single
1471
+ request; this effectively ignores the host_index
1472
+ in the spec for a single request.
1473
+ :type _host_index: int, optional
1474
+ :return: Returns the result object.
1475
+ """ # noqa: E501
1476
+
1477
+ _param = self._search_for_imap_emails_serialize(
1478
+ search_index_payload=search_index_payload,
1479
+ q_answer_api_key=q_answer_api_key,
1480
+ _request_auth=_request_auth,
1481
+ _content_type=_content_type,
1482
+ _headers=_headers,
1483
+ _host_index=_host_index
1484
+ )
1485
+
1486
+ _response_types_map: Dict[str, Optional[str]] = {
1487
+ '200': "ImapSearchResponse",
1488
+ '422': "HTTPValidationError",
1489
+ }
1490
+ response_data = self.api_client.call_api(
1491
+ *_param,
1492
+ _request_timeout=_request_timeout
1493
+ )
1494
+ return response_data.response
1495
+
1496
+
1497
+ def _search_for_imap_emails_serialize(
1498
+ self,
1499
+ search_index_payload,
1500
+ q_answer_api_key,
1501
+ _request_auth,
1502
+ _content_type,
1503
+ _headers,
1504
+ _host_index,
1505
+ ) -> RequestSerialized:
1506
+
1507
+ _host = None
1508
+
1509
+ _collection_formats: Dict[str, str] = {
1510
+ }
1511
+
1512
+ _path_params: Dict[str, str] = {}
1513
+ _query_params: List[Tuple[str, str]] = []
1514
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1515
+ _form_params: List[Tuple[str, str]] = []
1516
+ _files: Dict[
1517
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1518
+ ] = {}
1519
+ _body_params: Optional[bytes] = None
1520
+
1521
+ # process the path parameters
1522
+ # process the query parameters
1523
+ # process the header parameters
1524
+ if q_answer_api_key is not None:
1525
+ _header_params['QAnswer-Api-Key'] = q_answer_api_key
1526
+ # process the form parameters
1527
+ # process the body parameter
1528
+ if search_index_payload is not None:
1529
+ _body_params = search_index_payload
1530
+
1531
+
1532
+ # set the HTTP header `Accept`
1533
+ if 'Accept' not in _header_params:
1534
+ _header_params['Accept'] = self.api_client.select_header_accept(
1535
+ [
1536
+ 'application/json'
1537
+ ]
1538
+ )
1539
+
1540
+ # set the HTTP header `Content-Type`
1541
+ if _content_type:
1542
+ _header_params['Content-Type'] = _content_type
1543
+ else:
1544
+ _default_content_type = (
1545
+ self.api_client.select_header_content_type(
1546
+ [
1547
+ 'application/json'
1548
+ ]
1549
+ )
1550
+ )
1551
+ if _default_content_type is not None:
1552
+ _header_params['Content-Type'] = _default_content_type
1553
+
1554
+ # authentication setting
1555
+ _auth_settings: List[str] = [
1556
+ 'QAnswer-Api-Key',
1557
+ 'Bearer token'
1558
+ ]
1559
+
1560
+ return self.api_client.param_serialize(
1561
+ method='POST',
1562
+ resource_path='/api/connectors/imap-connector/search',
1563
+ path_params=_path_params,
1564
+ query_params=_query_params,
1565
+ header_params=_header_params,
1566
+ body=_body_params,
1567
+ post_params=_form_params,
1568
+ files=_files,
1569
+ auth_settings=_auth_settings,
1570
+ collection_formats=_collection_formats,
1571
+ _host=_host,
1572
+ _request_auth=_request_auth
1573
+ )
1574
+
1575
+
1576
+
1577
+
1578
+ @validate_call
1579
+ def test_imap_connection(
1580
+ self,
1581
+ test_imap_connection_payload: TestImapConnectionPayload,
1582
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
1583
+ _request_timeout: Union[
1584
+ None,
1585
+ Annotated[StrictFloat, Field(gt=0)],
1586
+ Tuple[
1587
+ Annotated[StrictFloat, Field(gt=0)],
1588
+ Annotated[StrictFloat, Field(gt=0)]
1589
+ ]
1590
+ ] = None,
1591
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1592
+ _content_type: Optional[StrictStr] = None,
1593
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1594
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1595
+ ) -> List[EmailFolder]:
1596
+ """Test Imap Connection
1597
+
1598
+ Test IMAP connection and return folder structure
1599
+
1600
+ :param test_imap_connection_payload: (required)
1601
+ :type test_imap_connection_payload: TestImapConnectionPayload
1602
+ :param q_answer_api_key: Optional QAnswer API key
1603
+ :type q_answer_api_key: str
1604
+ :param _request_timeout: timeout setting for this request. If one
1605
+ number provided, it will be total request
1606
+ timeout. It can also be a pair (tuple) of
1607
+ (connection, read) timeouts.
1608
+ :type _request_timeout: int, tuple(int, int), optional
1609
+ :param _request_auth: set to override the auth_settings for an a single
1610
+ request; this effectively ignores the
1611
+ authentication in the spec for a single request.
1612
+ :type _request_auth: dict, optional
1613
+ :param _content_type: force content-type for the request.
1614
+ :type _content_type: str, Optional
1615
+ :param _headers: set to override the headers for a single
1616
+ request; this effectively ignores the headers
1617
+ in the spec for a single request.
1618
+ :type _headers: dict, optional
1619
+ :param _host_index: set to override the host_index for a single
1620
+ request; this effectively ignores the host_index
1621
+ in the spec for a single request.
1622
+ :type _host_index: int, optional
1623
+ :return: Returns the result object.
1624
+ """ # noqa: E501
1625
+
1626
+ _param = self._test_imap_connection_serialize(
1627
+ test_imap_connection_payload=test_imap_connection_payload,
1628
+ q_answer_api_key=q_answer_api_key,
1629
+ _request_auth=_request_auth,
1630
+ _content_type=_content_type,
1631
+ _headers=_headers,
1632
+ _host_index=_host_index
1633
+ )
1634
+
1635
+ _response_types_map: Dict[str, Optional[str]] = {
1636
+ '200': "List[EmailFolder]",
1637
+ '422': "HTTPValidationError",
1638
+ }
1639
+ response_data = self.api_client.call_api(
1640
+ *_param,
1641
+ _request_timeout=_request_timeout
1642
+ )
1643
+ response_data.read()
1644
+ return self.api_client.response_deserialize(
1645
+ response_data=response_data,
1646
+ response_types_map=_response_types_map,
1647
+ ).data
1648
+
1649
+
1650
+ @validate_call
1651
+ def test_imap_connection_with_http_info(
1652
+ self,
1653
+ test_imap_connection_payload: TestImapConnectionPayload,
1654
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
1655
+ _request_timeout: Union[
1656
+ None,
1657
+ Annotated[StrictFloat, Field(gt=0)],
1658
+ Tuple[
1659
+ Annotated[StrictFloat, Field(gt=0)],
1660
+ Annotated[StrictFloat, Field(gt=0)]
1661
+ ]
1662
+ ] = None,
1663
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1664
+ _content_type: Optional[StrictStr] = None,
1665
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1666
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1667
+ ) -> ApiResponse[List[EmailFolder]]:
1668
+ """Test Imap Connection
1669
+
1670
+ Test IMAP connection and return folder structure
1671
+
1672
+ :param test_imap_connection_payload: (required)
1673
+ :type test_imap_connection_payload: TestImapConnectionPayload
1674
+ :param q_answer_api_key: Optional QAnswer API key
1675
+ :type q_answer_api_key: str
1676
+ :param _request_timeout: timeout setting for this request. If one
1677
+ number provided, it will be total request
1678
+ timeout. It can also be a pair (tuple) of
1679
+ (connection, read) timeouts.
1680
+ :type _request_timeout: int, tuple(int, int), optional
1681
+ :param _request_auth: set to override the auth_settings for an a single
1682
+ request; this effectively ignores the
1683
+ authentication in the spec for a single request.
1684
+ :type _request_auth: dict, optional
1685
+ :param _content_type: force content-type for the request.
1686
+ :type _content_type: str, Optional
1687
+ :param _headers: set to override the headers for a single
1688
+ request; this effectively ignores the headers
1689
+ in the spec for a single request.
1690
+ :type _headers: dict, optional
1691
+ :param _host_index: set to override the host_index for a single
1692
+ request; this effectively ignores the host_index
1693
+ in the spec for a single request.
1694
+ :type _host_index: int, optional
1695
+ :return: Returns the result object.
1696
+ """ # noqa: E501
1697
+
1698
+ _param = self._test_imap_connection_serialize(
1699
+ test_imap_connection_payload=test_imap_connection_payload,
1700
+ q_answer_api_key=q_answer_api_key,
1701
+ _request_auth=_request_auth,
1702
+ _content_type=_content_type,
1703
+ _headers=_headers,
1704
+ _host_index=_host_index
1705
+ )
1706
+
1707
+ _response_types_map: Dict[str, Optional[str]] = {
1708
+ '200': "List[EmailFolder]",
1709
+ '422': "HTTPValidationError",
1710
+ }
1711
+ response_data = self.api_client.call_api(
1712
+ *_param,
1713
+ _request_timeout=_request_timeout
1714
+ )
1715
+ response_data.read()
1716
+ return self.api_client.response_deserialize(
1717
+ response_data=response_data,
1718
+ response_types_map=_response_types_map,
1719
+ )
1720
+
1721
+
1722
+ @validate_call
1723
+ def test_imap_connection_without_preload_content(
1724
+ self,
1725
+ test_imap_connection_payload: TestImapConnectionPayload,
1726
+ q_answer_api_key: Annotated[Optional[StrictStr], Field(description="Optional QAnswer API key")] = None,
1727
+ _request_timeout: Union[
1728
+ None,
1729
+ Annotated[StrictFloat, Field(gt=0)],
1730
+ Tuple[
1731
+ Annotated[StrictFloat, Field(gt=0)],
1732
+ Annotated[StrictFloat, Field(gt=0)]
1733
+ ]
1734
+ ] = None,
1735
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1736
+ _content_type: Optional[StrictStr] = None,
1737
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1738
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1739
+ ) -> RESTResponseType:
1740
+ """Test Imap Connection
1741
+
1742
+ Test IMAP connection and return folder structure
1743
+
1744
+ :param test_imap_connection_payload: (required)
1745
+ :type test_imap_connection_payload: TestImapConnectionPayload
1746
+ :param q_answer_api_key: Optional QAnswer API key
1747
+ :type q_answer_api_key: str
1748
+ :param _request_timeout: timeout setting for this request. If one
1749
+ number provided, it will be total request
1750
+ timeout. It can also be a pair (tuple) of
1751
+ (connection, read) timeouts.
1752
+ :type _request_timeout: int, tuple(int, int), optional
1753
+ :param _request_auth: set to override the auth_settings for an a single
1754
+ request; this effectively ignores the
1755
+ authentication in the spec for a single request.
1756
+ :type _request_auth: dict, optional
1757
+ :param _content_type: force content-type for the request.
1758
+ :type _content_type: str, Optional
1759
+ :param _headers: set to override the headers for a single
1760
+ request; this effectively ignores the headers
1761
+ in the spec for a single request.
1762
+ :type _headers: dict, optional
1763
+ :param _host_index: set to override the host_index for a single
1764
+ request; this effectively ignores the host_index
1765
+ in the spec for a single request.
1766
+ :type _host_index: int, optional
1767
+ :return: Returns the result object.
1768
+ """ # noqa: E501
1769
+
1770
+ _param = self._test_imap_connection_serialize(
1771
+ test_imap_connection_payload=test_imap_connection_payload,
1772
+ q_answer_api_key=q_answer_api_key,
1773
+ _request_auth=_request_auth,
1774
+ _content_type=_content_type,
1775
+ _headers=_headers,
1776
+ _host_index=_host_index
1777
+ )
1778
+
1779
+ _response_types_map: Dict[str, Optional[str]] = {
1780
+ '200': "List[EmailFolder]",
1781
+ '422': "HTTPValidationError",
1782
+ }
1783
+ response_data = self.api_client.call_api(
1784
+ *_param,
1785
+ _request_timeout=_request_timeout
1786
+ )
1787
+ return response_data.response
1788
+
1789
+
1790
+ def _test_imap_connection_serialize(
1791
+ self,
1792
+ test_imap_connection_payload,
1793
+ q_answer_api_key,
1794
+ _request_auth,
1795
+ _content_type,
1796
+ _headers,
1797
+ _host_index,
1798
+ ) -> RequestSerialized:
1799
+
1800
+ _host = None
1801
+
1802
+ _collection_formats: Dict[str, str] = {
1803
+ }
1804
+
1805
+ _path_params: Dict[str, str] = {}
1806
+ _query_params: List[Tuple[str, str]] = []
1807
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1808
+ _form_params: List[Tuple[str, str]] = []
1809
+ _files: Dict[
1810
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1811
+ ] = {}
1812
+ _body_params: Optional[bytes] = None
1813
+
1814
+ # process the path parameters
1815
+ # process the query parameters
1816
+ # process the header parameters
1817
+ if q_answer_api_key is not None:
1818
+ _header_params['QAnswer-Api-Key'] = q_answer_api_key
1819
+ # process the form parameters
1820
+ # process the body parameter
1821
+ if test_imap_connection_payload is not None:
1822
+ _body_params = test_imap_connection_payload
1823
+
1824
+
1825
+ # set the HTTP header `Accept`
1826
+ if 'Accept' not in _header_params:
1827
+ _header_params['Accept'] = self.api_client.select_header_accept(
1828
+ [
1829
+ 'application/json'
1830
+ ]
1831
+ )
1832
+
1833
+ # set the HTTP header `Content-Type`
1834
+ if _content_type:
1835
+ _header_params['Content-Type'] = _content_type
1836
+ else:
1837
+ _default_content_type = (
1838
+ self.api_client.select_header_content_type(
1839
+ [
1840
+ 'application/json'
1841
+ ]
1842
+ )
1843
+ )
1844
+ if _default_content_type is not None:
1845
+ _header_params['Content-Type'] = _default_content_type
1846
+
1847
+ # authentication setting
1848
+ _auth_settings: List[str] = [
1849
+ ]
1850
+
1851
+ return self.api_client.param_serialize(
1852
+ method='POST',
1853
+ resource_path='/api/connectors/imap-connector/test-connection',
1854
+ path_params=_path_params,
1855
+ query_params=_query_params,
1856
+ header_params=_header_params,
1857
+ body=_body_params,
1858
+ post_params=_form_params,
1859
+ files=_files,
1860
+ auth_settings=_auth_settings,
1861
+ collection_formats=_collection_formats,
1862
+ _host=_host,
1863
+ _request_auth=_request_auth
1864
+ )
1865
+
1866
+