reacon-sdk 0.1.0.beta.4

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 (645) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +202 -0
  4. data/README.md +910 -0
  5. data/Rakefile +10 -0
  6. data/lib/reacon-sdk/api/companies_api.rb +120 -0
  7. data/lib/reacon-sdk/api/domains_api.rb +211 -0
  8. data/lib/reacon-sdk/api/emails_api.rb +463 -0
  9. data/lib/reacon-sdk/api/identity_api.rb +79 -0
  10. data/lib/reacon-sdk/api/insights_api.rb +85 -0
  11. data/lib/reacon-sdk/api/integrations_api.rb +3193 -0
  12. data/lib/reacon-sdk/api/leads_api.rb +499 -0
  13. data/lib/reacon-sdk/api/mail_api.rb +6680 -0
  14. data/lib/reacon-sdk/api/names_api.rb +176 -0
  15. data/lib/reacon-sdk/api/product_tools_api.rb +101 -0
  16. data/lib/reacon-sdk/api/stats_api.rb +79 -0
  17. data/lib/reacon-sdk/api/verification_api.rb +168 -0
  18. data/lib/reacon-sdk/api/webhooks_api.rb +300 -0
  19. data/lib/reacon-sdk/api_client.rb +444 -0
  20. data/lib/reacon-sdk/api_error.rb +58 -0
  21. data/lib/reacon-sdk/api_model_base.rb +88 -0
  22. data/lib/reacon-sdk/configuration.rb +399 -0
  23. data/lib/reacon-sdk/http_policy.rb +157 -0
  24. data/lib/reacon-sdk/models/airtable_mapping_options_response.rb +164 -0
  25. data/lib/reacon-sdk/models/airtable_mapping_options_response_options.rb +220 -0
  26. data/lib/reacon-sdk/models/airtable_mapping_options_response_options_bases_inner.rb +190 -0
  27. data/lib/reacon-sdk/models/airtable_mapping_options_response_options_tables_inner.rb +218 -0
  28. data/lib/reacon-sdk/models/airtable_mapping_options_response_options_tables_inner_fields_inner.rb +190 -0
  29. data/lib/reacon-sdk/models/api_key_identity.rb +190 -0
  30. data/lib/reacon-sdk/models/automation_hook_created.rb +269 -0
  31. data/lib/reacon-sdk/models/batch_verification_error.rb +225 -0
  32. data/lib/reacon-sdk/models/batch_verification_item.rb +211 -0
  33. data/lib/reacon-sdk/models/batch_verification_request.rb +227 -0
  34. data/lib/reacon-sdk/models/batch_verification_request_only_if_free.rb +103 -0
  35. data/lib/reacon-sdk/models/batch_verification_response.rb +192 -0
  36. data/lib/reacon-sdk/models/bind_typeform_form_request.rb +341 -0
  37. data/lib/reacon-sdk/models/bind_webflow_form_request.rb +304 -0
  38. data/lib/reacon-sdk/models/capability_domain_search.rb +227 -0
  39. data/lib/reacon-sdk/models/capability_domain_search_contacts_inner.rb +217 -0
  40. data/lib/reacon-sdk/models/capability_email_found.rb +242 -0
  41. data/lib/reacon-sdk/models/capability_email_verified.rb +294 -0
  42. data/lib/reacon-sdk/models/capability_email_verified_details.rb +268 -0
  43. data/lib/reacon-sdk/models/coda_table_inspection_response.rb +164 -0
  44. data/lib/reacon-sdk/models/coda_table_inspection_response_inspection.rb +192 -0
  45. data/lib/reacon-sdk/models/company_context_address.rb +201 -0
  46. data/lib/reacon-sdk/models/company_context_job.rb +290 -0
  47. data/lib/reacon-sdk/models/company_context_source.rb +200 -0
  48. data/lib/reacon-sdk/models/company_list.rb +166 -0
  49. data/lib/reacon-sdk/models/company_list_results_inner.rb +357 -0
  50. data/lib/reacon-sdk/models/company_list_results_inner_addresses_inner.rb +198 -0
  51. data/lib/reacon-sdk/models/configure_airtable_mapping_request.rb +164 -0
  52. data/lib/reacon-sdk/models/configure_coda_request.rb +405 -0
  53. data/lib/reacon-sdk/models/configure_coda_request_mapping.rb +370 -0
  54. data/lib/reacon-sdk/models/configure_crm_mapping_request.rb +164 -0
  55. data/lib/reacon-sdk/models/configure_crm_sync_request.rb +164 -0
  56. data/lib/reacon-sdk/models/configure_crm_sync_request_configuration.rb +176 -0
  57. data/lib/reacon-sdk/models/configure_crm_sync_request_configuration_hubspot.rb +176 -0
  58. data/lib/reacon-sdk/models/configure_crm_sync_request_configuration_hubspot_deal.rb +200 -0
  59. data/lib/reacon-sdk/models/configure_crm_sync_request_configuration_policy.rb +261 -0
  60. data/lib/reacon-sdk/models/configure_freshsales_request.rb +313 -0
  61. data/lib/reacon-sdk/models/configure_notification_routes_request.rb +183 -0
  62. data/lib/reacon-sdk/models/configure_slack_destination_request.rb +175 -0
  63. data/lib/reacon-sdk/models/configure_teams_workflow_request.rb +269 -0
  64. data/lib/reacon-sdk/models/configure_typeform_form_request.rb +424 -0
  65. data/lib/reacon-sdk/models/configure_warehouse_request.rb +345 -0
  66. data/lib/reacon-sdk/models/configure_webflow_form_request.rb +431 -0
  67. data/lib/reacon-sdk/models/create_automation_hook_request.rb +232 -0
  68. data/lib/reacon-sdk/models/create_lead_request.rb +193 -0
  69. data/lib/reacon-sdk/models/create_lead_request_company.rb +251 -0
  70. data/lib/reacon-sdk/models/create_lead_request_person.rb +208 -0
  71. data/lib/reacon-sdk/models/create_lead_response.rb +164 -0
  72. data/lib/reacon-sdk/models/create_lead_response_lead.rb +216 -0
  73. data/lib/reacon-sdk/models/create_segment_installation_request.rb +182 -0
  74. data/lib/reacon-sdk/models/crm_mapping_options_response.rb +164 -0
  75. data/lib/reacon-sdk/models/crm_mapping_options_response_options.rb +192 -0
  76. data/lib/reacon-sdk/models/crm_mapping_options_response_options_objects_inner.rb +219 -0
  77. data/lib/reacon-sdk/models/crm_remote_field.rb +294 -0
  78. data/lib/reacon-sdk/models/crm_sync_configuration.rb +176 -0
  79. data/lib/reacon-sdk/models/crm_sync_configuration_hubspot.rb +176 -0
  80. data/lib/reacon-sdk/models/crm_sync_configuration_hubspot_deal.rb +200 -0
  81. data/lib/reacon-sdk/models/crm_sync_configuration_policy.rb +244 -0
  82. data/lib/reacon-sdk/models/crm_sync_configuration_response.rb +190 -0
  83. data/lib/reacon-sdk/models/delete_email_response.rb +164 -0
  84. data/lib/reacon-sdk/models/delete_lead_response.rb +164 -0
  85. data/lib/reacon-sdk/models/domain_catch_all.rb +150 -0
  86. data/lib/reacon-sdk/models/domain_company_context.rb +176 -0
  87. data/lib/reacon-sdk/models/domain_company_context_company.rb +465 -0
  88. data/lib/reacon-sdk/models/domain_counts.rb +216 -0
  89. data/lib/reacon-sdk/models/email_mention.rb +294 -0
  90. data/lib/reacon-sdk/models/email_mentions_page.rb +178 -0
  91. data/lib/reacon-sdk/models/email_not_found_error.rb +164 -0
  92. data/lib/reacon-sdk/models/email_not_found_error_error.rb +190 -0
  93. data/lib/reacon-sdk/models/email_page.rb +178 -0
  94. data/lib/reacon-sdk/models/email_page_results_inner.rb +464 -0
  95. data/lib/reacon-sdk/models/email_page_results_inner_sources_inner.rb +294 -0
  96. data/lib/reacon-sdk/models/email_reveal_response.rb +192 -0
  97. data/lib/reacon-sdk/models/email_reveal_response_profile.rb +399 -0
  98. data/lib/reacon-sdk/models/error_response.rb +238 -0
  99. data/lib/reacon-sdk/models/excel_workbook_inspection_response.rb +164 -0
  100. data/lib/reacon-sdk/models/excel_workbook_inspection_response_inspection.rb +324 -0
  101. data/lib/reacon-sdk/models/execute_integration_capability_request.rb +262 -0
  102. data/lib/reacon-sdk/models/export_leads_request.rb +240 -0
  103. data/lib/reacon-sdk/models/export_leads_request_selection_scopes_inner.rb +236 -0
  104. data/lib/reacon-sdk/models/get_lead_response.rb +164 -0
  105. data/lib/reacon-sdk/models/get_lead_response_lead.rb +357 -0
  106. data/lib/reacon-sdk/models/get_lead_response_lead_company.rb +251 -0
  107. data/lib/reacon-sdk/models/get_lead_response_lead_sync.rb +162 -0
  108. data/lib/reacon-sdk/models/get_lead_response_lead_verification.rb +162 -0
  109. data/lib/reacon-sdk/models/google_sheet_inspection_response.rb +164 -0
  110. data/lib/reacon-sdk/models/google_sheet_inspection_response_inspection.rb +298 -0
  111. data/lib/reacon-sdk/models/hub_spot_configuration_options_response.rb +164 -0
  112. data/lib/reacon-sdk/models/hub_spot_configuration_options_response_options.rb +194 -0
  113. data/lib/reacon-sdk/models/hub_spot_configuration_options_response_options_owners_inner.rb +202 -0
  114. data/lib/reacon-sdk/models/hub_spot_configuration_options_response_options_pipelines_inner.rb +218 -0
  115. data/lib/reacon-sdk/models/hub_spot_configuration_options_response_options_pipelines_inner_stages_inner.rb +225 -0
  116. data/lib/reacon-sdk/models/insight_address.rb +230 -0
  117. data/lib/reacon-sdk/models/insight_address_entry.rb +200 -0
  118. data/lib/reacon-sdk/models/insight_attribute.rb +199 -0
  119. data/lib/reacon-sdk/models/insight_error_event.rb +217 -0
  120. data/lib/reacon-sdk/models/insight_evidence.rb +208 -0
  121. data/lib/reacon-sdk/models/insight_final_event.rb +217 -0
  122. data/lib/reacon-sdk/models/insight_geo.rb +156 -0
  123. data/lib/reacon-sdk/models/insight_identifier.rb +273 -0
  124. data/lib/reacon-sdk/models/insight_jurisdiction.rb +165 -0
  125. data/lib/reacon-sdk/models/insight_mention.rb +312 -0
  126. data/lib/reacon-sdk/models/insight_mention_error_event.rb +243 -0
  127. data/lib/reacon-sdk/models/insight_mention_extracted_event.rb +347 -0
  128. data/lib/reacon-sdk/models/insight_mention_insight_event.rb +243 -0
  129. data/lib/reacon-sdk/models/insight_office.rb +236 -0
  130. data/lib/reacon-sdk/models/insight_organization.rb +176 -0
  131. data/lib/reacon-sdk/models/insight_phone.rb +192 -0
  132. data/lib/reacon-sdk/models/insight_platform_detected_event.rb +217 -0
  133. data/lib/reacon-sdk/models/insight_platform_progress_event.rb +217 -0
  134. data/lib/reacon-sdk/models/insight_platform_scan.rb +226 -0
  135. data/lib/reacon-sdk/models/insight_platform_scan_event.rb +217 -0
  136. data/lib/reacon-sdk/models/insight_role.rb +192 -0
  137. data/lib/reacon-sdk/models/insight_social_profile.rb +165 -0
  138. data/lib/reacon-sdk/models/insight_source.rb +176 -0
  139. data/lib/reacon-sdk/models/insight_started_event.rb +217 -0
  140. data/lib/reacon-sdk/models/insights_response.rb +246 -0
  141. data/lib/reacon-sdk/models/inspect_coda_table_request.rb +292 -0
  142. data/lib/reacon-sdk/models/inspect_excel_workbook_request.rb +281 -0
  143. data/lib/reacon-sdk/models/inspect_google_sheet_request.rb +288 -0
  144. data/lib/reacon-sdk/models/integration_capability_response.rb +374 -0
  145. data/lib/reacon-sdk/models/integration_capability_response_output.rb +107 -0
  146. data/lib/reacon-sdk/models/integration_connection.rb +456 -0
  147. data/lib/reacon-sdk/models/integration_connection_health.rb +213 -0
  148. data/lib/reacon-sdk/models/integration_connection_list.rb +166 -0
  149. data/lib/reacon-sdk/models/integration_connection_response.rb +164 -0
  150. data/lib/reacon-sdk/models/integration_connection_state_response.rb +199 -0
  151. data/lib/reacon-sdk/models/integration_connection_test.rb +226 -0
  152. data/lib/reacon-sdk/models/integration_connection_test_response.rb +190 -0
  153. data/lib/reacon-sdk/models/integration_form_connection_response.rb +190 -0
  154. data/lib/reacon-sdk/models/integration_job.rb +518 -0
  155. data/lib/reacon-sdk/models/integration_job_cancellation.rb +191 -0
  156. data/lib/reacon-sdk/models/integration_job_counters.rb +278 -0
  157. data/lib/reacon-sdk/models/integration_job_page.rb +178 -0
  158. data/lib/reacon-sdk/models/integration_job_response.rb +164 -0
  159. data/lib/reacon-sdk/models/integration_lead_export_response.rb +199 -0
  160. data/lib/reacon-sdk/models/integration_o_auth_start_response.rb +190 -0
  161. data/lib/reacon-sdk/models/integration_provider_list.rb +166 -0
  162. data/lib/reacon-sdk/models/integration_provider_list_providers_inner.rb +320 -0
  163. data/lib/reacon-sdk/models/integration_provider_list_providers_inner_connectability.rb +191 -0
  164. data/lib/reacon-sdk/models/integration_provider_list_providers_inner_readiness.rb +273 -0
  165. data/lib/reacon-sdk/models/lead_export_inner.rb +347 -0
  166. data/lib/reacon-sdk/models/lead_export_inner_company.rb +174 -0
  167. data/lib/reacon-sdk/models/lead_export_inner_person.rb +208 -0
  168. data/lib/reacon-sdk/models/lead_export_too_large_error.rb +216 -0
  169. data/lib/reacon-sdk/models/lead_page.rb +237 -0
  170. data/lib/reacon-sdk/models/lead_page_results_inner.rb +357 -0
  171. data/lib/reacon-sdk/models/lead_page_results_inner_company.rb +251 -0
  172. data/lib/reacon-sdk/models/link_mcp_identity_request.rb +181 -0
  173. data/lib/reacon-sdk/models/mail_cadence_campaign_record.rb +773 -0
  174. data/lib/reacon-sdk/models/mail_cadence_definition.rb +357 -0
  175. data/lib/reacon-sdk/models/mail_cadence_enrollment_variable_gap.rb +190 -0
  176. data/lib/reacon-sdk/models/mail_cadence_experiment_context.rb +294 -0
  177. data/lib/reacon-sdk/models/mail_cadence_message_experiment.rb +324 -0
  178. data/lib/reacon-sdk/models/mail_cadence_message_experiment_variant.rb +268 -0
  179. data/lib/reacon-sdk/models/mail_cadence_node.rb +108 -0
  180. data/lib/reacon-sdk/models/mail_cadence_node_any_of.rb +273 -0
  181. data/lib/reacon-sdk/models/mail_cadence_node_any_of1.rb +360 -0
  182. data/lib/reacon-sdk/models/mail_cadence_node_any_of2.rb +299 -0
  183. data/lib/reacon-sdk/models/mail_cadence_node_any_of3.rb +325 -0
  184. data/lib/reacon-sdk/models/mail_cadence_node_any_of4.rb +325 -0
  185. data/lib/reacon-sdk/models/mail_cadence_node_any_of4_all_of_condition.rb +216 -0
  186. data/lib/reacon-sdk/models/mail_cadence_node_any_of5.rb +273 -0
  187. data/lib/reacon-sdk/models/mail_cadence_node_any_of6.rb +273 -0
  188. data/lib/reacon-sdk/models/mail_cadence_node_base.rb +190 -0
  189. data/lib/reacon-sdk/models/mail_cadence_run_record.rb +638 -0
  190. data/lib/reacon-sdk/models/mail_cadence_stop_conditions.rb +268 -0
  191. data/lib/reacon-sdk/models/mail_cadence_workflow_experiment.rb +324 -0
  192. data/lib/reacon-sdk/models/mail_cadence_workflow_experiment_variant.rb +242 -0
  193. data/lib/reacon-sdk/models/mail_campaign_draft_record.rb +457 -0
  194. data/lib/reacon-sdk/models/mail_campaign_draft_step.rb +262 -0
  195. data/lib/reacon-sdk/models/mail_campaign_progress.rb +400 -0
  196. data/lib/reacon-sdk/models/mail_campaign_progress_message_counts.rb +255 -0
  197. data/lib/reacon-sdk/models/mail_contact_crm_state.rb +260 -0
  198. data/lib/reacon-sdk/models/mail_contact_list_summary_record.rb +294 -0
  199. data/lib/reacon-sdk/models/mail_contact_record.rb +303 -0
  200. data/lib/reacon-sdk/models/mail_conversation_entry.rb +464 -0
  201. data/lib/reacon-sdk/models/mail_conversation_entry_from.rb +173 -0
  202. data/lib/reacon-sdk/models/mail_conversation_entry_last_error.rb +104 -0
  203. data/lib/reacon-sdk/models/mail_conversation_entry_last_error_any_of.rb +249 -0
  204. data/lib/reacon-sdk/models/mail_conversation_entry_last_error_any_of1.rb +240 -0
  205. data/lib/reacon-sdk/models/mail_conversation_entry_last_error_any_of2.rb +240 -0
  206. data/lib/reacon-sdk/models/mail_conversation_thread.rb +376 -0
  207. data/lib/reacon-sdk/models/mail_crm_task.rb +416 -0
  208. data/lib/reacon-sdk/models/mail_crm_timeline_event.rb +303 -0
  209. data/lib/reacon-sdk/models/mail_delete_campaigns_by_campaign_id_request.rb +173 -0
  210. data/lib/reacon-sdk/models/mail_delete_campaigns_by_campaign_id_response200.rb +164 -0
  211. data/lib/reacon-sdk/models/mail_delete_deliverability_pools_by_pool_id_members_by_mailbox_id_response200.rb +164 -0
  212. data/lib/reacon-sdk/models/mail_delete_mailboxes_by_mailbox_id_response200.rb +164 -0
  213. data/lib/reacon-sdk/models/mail_delete_portfolio_teams_by_member_team_id_response200.rb +164 -0
  214. data/lib/reacon-sdk/models/mail_delete_reply_automations_by_automation_id_response200.rb +164 -0
  215. data/lib/reacon-sdk/models/mail_delete_tracking_domain_response200.rb +164 -0
  216. data/lib/reacon-sdk/models/mail_delete_webhooks_by_subscription_id_response200.rb +164 -0
  217. data/lib/reacon-sdk/models/mail_domain_health_check.rb +244 -0
  218. data/lib/reacon-sdk/models/mail_domain_health_report.rb +244 -0
  219. data/lib/reacon-sdk/models/mail_evidence_field.rb +294 -0
  220. data/lib/reacon-sdk/models/mail_experiment_decision_record.rb +398 -0
  221. data/lib/reacon-sdk/models/mail_experiment_definition_record.rb +580 -0
  222. data/lib/reacon-sdk/models/mail_experiment_outcome_record.rb +372 -0
  223. data/lib/reacon-sdk/models/mail_experiment_report.rb +544 -0
  224. data/lib/reacon-sdk/models/mail_experiment_report_decision.rb +103 -0
  225. data/lib/reacon-sdk/models/mail_experiment_revision_record.rb +463 -0
  226. data/lib/reacon-sdk/models/mail_experiment_variant.rb +103 -0
  227. data/lib/reacon-sdk/models/mail_experiment_variant_report.rb +490 -0
  228. data/lib/reacon-sdk/models/mail_experiment_variant_report_confidence_interval95.rb +190 -0
  229. data/lib/reacon-sdk/models/mail_experiment_variant_report_guardrails.rb +242 -0
  230. data/lib/reacon-sdk/models/mail_get_analytics_response200.rb +190 -0
  231. data/lib/reacon-sdk/models/mail_get_audience_lists_response200.rb +166 -0
  232. data/lib/reacon-sdk/models/mail_get_cadence_campaigns_response200.rb +166 -0
  233. data/lib/reacon-sdk/models/mail_get_cadence_runs_response200.rb +166 -0
  234. data/lib/reacon-sdk/models/mail_get_cadences_response200.rb +166 -0
  235. data/lib/reacon-sdk/models/mail_get_campaign_progress_response200.rb +166 -0
  236. data/lib/reacon-sdk/models/mail_get_campaigns_by_campaign_id_response200.rb +164 -0
  237. data/lib/reacon-sdk/models/mail_get_campaigns_response200.rb +166 -0
  238. data/lib/reacon-sdk/models/mail_get_channels_response200.rb +242 -0
  239. data/lib/reacon-sdk/models/mail_get_channels_response200_email.rb +268 -0
  240. data/lib/reacon-sdk/models/mail_get_channels_response200_execution.rb +216 -0
  241. data/lib/reacon-sdk/models/mail_get_channels_response200_sms.rb +268 -0
  242. data/lib/reacon-sdk/models/mail_get_channels_response200_whatsapp.rb +294 -0
  243. data/lib/reacon-sdk/models/mail_get_crm_states_response200.rb +166 -0
  244. data/lib/reacon-sdk/models/mail_get_crm_tasks_response200.rb +166 -0
  245. data/lib/reacon-sdk/models/mail_get_crm_timeline_response200.rb +166 -0
  246. data/lib/reacon-sdk/models/mail_get_deliverability_response200.rb +222 -0
  247. data/lib/reacon-sdk/models/mail_get_deliverability_response200_pools_inner.rb +322 -0
  248. data/lib/reacon-sdk/models/mail_get_experiments_by_experiment_key_report_response200.rb +164 -0
  249. data/lib/reacon-sdk/models/mail_get_experiments_overview_response200.rb +166 -0
  250. data/lib/reacon-sdk/models/mail_get_experiments_response200.rb +166 -0
  251. data/lib/reacon-sdk/models/mail_get_experiments_response200_results_inner.rb +192 -0
  252. data/lib/reacon-sdk/models/mail_get_inbox_response200.rb +166 -0
  253. data/lib/reacon-sdk/models/mail_get_inbox_threads_response200.rb +192 -0
  254. data/lib/reacon-sdk/models/mail_get_mailboxes_response200.rb +194 -0
  255. data/lib/reacon-sdk/models/mail_get_messages_response200.rb +175 -0
  256. data/lib/reacon-sdk/models/mail_get_overview_response200.rb +330 -0
  257. data/lib/reacon-sdk/models/mail_get_overview_response200_inbox.rb +218 -0
  258. data/lib/reacon-sdk/models/mail_get_portfolio_overview_response200.rb +218 -0
  259. data/lib/reacon-sdk/models/mail_get_portfolio_response200.rb +103 -0
  260. data/lib/reacon-sdk/models/mail_get_portfolio_response200_any_of.rb +242 -0
  261. data/lib/reacon-sdk/models/mail_get_portfolio_response200_any_of1.rb +220 -0
  262. data/lib/reacon-sdk/models/mail_get_queue_response200.rb +164 -0
  263. data/lib/reacon-sdk/models/mail_get_reply_automations_response200.rb +166 -0
  264. data/lib/reacon-sdk/models/mail_get_signatures_response200.rb +175 -0
  265. data/lib/reacon-sdk/models/mail_get_suppressions_response200.rb +166 -0
  266. data/lib/reacon-sdk/models/mail_get_templates_response200.rb +166 -0
  267. data/lib/reacon-sdk/models/mail_get_tracking_domain_response200.rb +162 -0
  268. data/lib/reacon-sdk/models/mail_get_tracking_domain_response200_domain.rb +103 -0
  269. data/lib/reacon-sdk/models/mail_get_webhooks_response200.rb +194 -0
  270. data/lib/reacon-sdk/models/mail_get_webhooks_response200_subscriptions_inner.rb +374 -0
  271. data/lib/reacon-sdk/models/mail_inbox_message_record.rb +520 -0
  272. data/lib/reacon-sdk/models/mail_mail_address.rb +173 -0
  273. data/lib/reacon-sdk/models/mail_mail_portfolio.rb +294 -0
  274. data/lib/reacon-sdk/models/mail_mail_portfolio_overview_row.rb +462 -0
  275. data/lib/reacon-sdk/models/mail_mail_portfolio_suppression.rb +320 -0
  276. data/lib/reacon-sdk/models/mail_mail_portfolio_team.rb +268 -0
  277. data/lib/reacon-sdk/models/mail_mailbox_connection_record.rb +452 -0
  278. data/lib/reacon-sdk/models/mail_mailbox_health_record.rb +676 -0
  279. data/lib/reacon-sdk/models/mail_mailbox_pool_member.rb +346 -0
  280. data/lib/reacon-sdk/models/mail_mailbox_provider_kind.rb +104 -0
  281. data/lib/reacon-sdk/models/mail_mailbox_record.rb +372 -0
  282. data/lib/reacon-sdk/models/mail_message_analytics_overview.rb +468 -0
  283. data/lib/reacon-sdk/models/mail_message_analytics_overview_daily_inner.rb +320 -0
  284. data/lib/reacon-sdk/models/mail_message_analytics_overview_mailboxes_inner.rb +294 -0
  285. data/lib/reacon-sdk/models/mail_message_analytics_overview_variants_inner.rb +330 -0
  286. data/lib/reacon-sdk/models/mail_message_policy.rb +313 -0
  287. data/lib/reacon-sdk/models/mail_message_policy_input.rb +211 -0
  288. data/lib/reacon-sdk/models/mail_message_record.rb +711 -0
  289. data/lib/reacon-sdk/models/mail_message_template_version.rb +418 -0
  290. data/lib/reacon-sdk/models/mail_message_template_version_whatsapp_approval.rb +242 -0
  291. data/lib/reacon-sdk/models/mail_message_variant_input.rb +260 -0
  292. data/lib/reacon-sdk/models/mail_operational_analytics_overview.rb +270 -0
  293. data/lib/reacon-sdk/models/mail_operational_analytics_overview_cadence_steps_inner.rb +242 -0
  294. data/lib/reacon-sdk/models/mail_patch_campaigns_by_campaign_id_request.rb +362 -0
  295. data/lib/reacon-sdk/models/mail_patch_campaigns_by_campaign_id_request_policy.rb +364 -0
  296. data/lib/reacon-sdk/models/mail_patch_campaigns_by_campaign_id_request_policy_domain_quotas_inner.rb +226 -0
  297. data/lib/reacon-sdk/models/mail_patch_campaigns_by_campaign_id_request_policy_sending_windows_inner.rb +277 -0
  298. data/lib/reacon-sdk/models/mail_patch_campaigns_by_campaign_id_request_steps_inner.rb +374 -0
  299. data/lib/reacon-sdk/models/mail_patch_campaigns_by_campaign_id_request_steps_inner_variants_inner.rb +342 -0
  300. data/lib/reacon-sdk/models/mail_patch_campaigns_by_campaign_id_response200.rb +164 -0
  301. data/lib/reacon-sdk/models/mail_patch_webhooks_by_subscription_id_request.rb +205 -0
  302. data/lib/reacon-sdk/models/mail_patch_webhooks_by_subscription_id_response200.rb +164 -0
  303. data/lib/reacon-sdk/models/mail_phone_number_value.rb +199 -0
  304. data/lib/reacon-sdk/models/mail_post_analytics_export_request.rb +238 -0
  305. data/lib/reacon-sdk/models/mail_post_analytics_export_request_after.rb +208 -0
  306. data/lib/reacon-sdk/models/mail_post_analytics_export_response200.rb +292 -0
  307. data/lib/reacon-sdk/models/mail_post_analytics_export_response200_next_cursor.rb +103 -0
  308. data/lib/reacon-sdk/models/mail_post_analytics_export_response200_next_cursor_any_of.rb +190 -0
  309. data/lib/reacon-sdk/models/mail_post_cadence_campaigns_by_campaign_id_state_request.rb +188 -0
  310. data/lib/reacon-sdk/models/mail_post_cadence_campaigns_by_campaign_id_state_response200.rb +103 -0
  311. data/lib/reacon-sdk/models/mail_post_cadence_campaigns_by_campaign_id_state_response200_any_of.rb +270 -0
  312. data/lib/reacon-sdk/models/mail_post_cadence_campaigns_by_campaign_id_state_response200_any_of1.rb +296 -0
  313. data/lib/reacon-sdk/models/mail_post_cadence_campaigns_request.rb +471 -0
  314. data/lib/reacon-sdk/models/mail_post_cadence_campaigns_response202.rb +164 -0
  315. data/lib/reacon-sdk/models/mail_post_cadence_runs_by_run_id_state_request.rb +188 -0
  316. data/lib/reacon-sdk/models/mail_post_cadence_runs_by_run_id_state_response200.rb +164 -0
  317. data/lib/reacon-sdk/models/mail_post_cadence_runs_preflight_request.rb +361 -0
  318. data/lib/reacon-sdk/models/mail_post_cadence_runs_preflight_response200.rb +324 -0
  319. data/lib/reacon-sdk/models/mail_post_cadence_runs_request.rb +533 -0
  320. data/lib/reacon-sdk/models/mail_post_cadence_runs_response200.rb +166 -0
  321. data/lib/reacon-sdk/models/mail_post_cadences_by_cadence_id_copy_request.rb +226 -0
  322. data/lib/reacon-sdk/models/mail_post_cadences_by_cadence_id_copy_response200.rb +218 -0
  323. data/lib/reacon-sdk/models/mail_post_cadences_request.rb +324 -0
  324. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner.rb +109 -0
  325. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of.rb +306 -0
  326. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of1.rb +422 -0
  327. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of1_experiment.rb +501 -0
  328. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of1_experiment_variants_inner.rb +342 -0
  329. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of2.rb +350 -0
  330. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of3.rb +378 -0
  331. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of4.rb +369 -0
  332. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of4_condition.rb +251 -0
  333. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of5.rb +295 -0
  334. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of5_experiment.rb +501 -0
  335. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of5_experiment_variants_inner.rb +300 -0
  336. data/lib/reacon-sdk/models/mail_post_cadences_request_nodes_inner_any_of6.rb +313 -0
  337. data/lib/reacon-sdk/models/mail_post_cadences_request_stop_conditions.rb +300 -0
  338. data/lib/reacon-sdk/models/mail_post_cadences_response200.rb +164 -0
  339. data/lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_duplicate_response201.rb +164 -0
  340. data/lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_request.rb +173 -0
  341. data/lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200.rb +103 -0
  342. data/lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200_any_of.rb +236 -0
  343. data/lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200_any_of1.rb +218 -0
  344. data/lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200_any_of_campaign.rb +103 -0
  345. data/lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_state_request.rb +188 -0
  346. data/lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_state_response200.rb +164 -0
  347. data/lib/reacon-sdk/models/mail_post_campaigns_request.rb +327 -0
  348. data/lib/reacon-sdk/models/mail_post_campaigns_response201.rb +164 -0
  349. data/lib/reacon-sdk/models/mail_post_crm_classify_reply_request.rb +247 -0
  350. data/lib/reacon-sdk/models/mail_post_crm_classify_reply_response200.rb +164 -0
  351. data/lib/reacon-sdk/models/mail_post_crm_contacts_batch_request.rb +184 -0
  352. data/lib/reacon-sdk/models/mail_post_crm_contacts_batch_response200.rb +166 -0
  353. data/lib/reacon-sdk/models/mail_post_crm_notes_request.rb +226 -0
  354. data/lib/reacon-sdk/models/mail_post_crm_notes_response200.rb +164 -0
  355. data/lib/reacon-sdk/models/mail_post_crm_notes_response200_event.rb +320 -0
  356. data/lib/reacon-sdk/models/mail_post_crm_notes_response200_event_payload.rb +164 -0
  357. data/lib/reacon-sdk/models/mail_post_crm_states_batch_request.rb +184 -0
  358. data/lib/reacon-sdk/models/mail_post_crm_states_batch_response200.rb +166 -0
  359. data/lib/reacon-sdk/models/mail_post_crm_tasks_by_task_id_complete_request.rb +177 -0
  360. data/lib/reacon-sdk/models/mail_post_crm_tasks_by_task_id_complete_response200.rb +192 -0
  361. data/lib/reacon-sdk/models/mail_post_crm_tasks_request.rb +346 -0
  362. data/lib/reacon-sdk/models/mail_post_crm_tasks_response201.rb +164 -0
  363. data/lib/reacon-sdk/models/mail_post_deliverability_domain_health_request.rb +212 -0
  364. data/lib/reacon-sdk/models/mail_post_deliverability_domain_health_response200.rb +164 -0
  365. data/lib/reacon-sdk/models/mail_post_deliverability_mailboxes_by_mailbox_id_pause_request.rb +175 -0
  366. data/lib/reacon-sdk/models/mail_post_deliverability_mailboxes_by_mailbox_id_pause_response200.rb +164 -0
  367. data/lib/reacon-sdk/models/mail_post_deliverability_mailboxes_by_mailbox_id_reconcile_response200.rb +164 -0
  368. data/lib/reacon-sdk/models/mail_post_deliverability_mailboxes_by_mailbox_id_request.rb +341 -0
  369. data/lib/reacon-sdk/models/mail_post_deliverability_mailboxes_by_mailbox_id_response200.rb +164 -0
  370. data/lib/reacon-sdk/models/mail_post_deliverability_mailboxes_by_mailbox_id_resume_response200.rb +164 -0
  371. data/lib/reacon-sdk/models/mail_post_deliverability_pools_request.rb +232 -0
  372. data/lib/reacon-sdk/models/mail_post_deliverability_pools_response201.rb +164 -0
  373. data/lib/reacon-sdk/models/mail_post_deliverability_pools_response201_pool.rb +340 -0
  374. data/lib/reacon-sdk/models/mail_post_experiments_by_experiment_key_archive_response200.rb +164 -0
  375. data/lib/reacon-sdk/models/mail_post_experiments_by_experiment_key_conversions_request.rb +320 -0
  376. data/lib/reacon-sdk/models/mail_post_experiments_by_experiment_key_conversions_response200.rb +164 -0
  377. data/lib/reacon-sdk/models/mail_post_experiments_by_experiment_key_decide_request.rb +310 -0
  378. data/lib/reacon-sdk/models/mail_post_experiments_by_experiment_key_decide_response200.rb +164 -0
  379. data/lib/reacon-sdk/models/mail_post_experiments_by_experiment_key_pause_response200.rb +164 -0
  380. data/lib/reacon-sdk/models/mail_post_experiments_by_experiment_key_resume_response200.rb +164 -0
  381. data/lib/reacon-sdk/models/mail_post_inbox_by_message_id_reply_request.rb +226 -0
  382. data/lib/reacon-sdk/models/mail_post_inbox_by_message_id_reply_response200.rb +164 -0
  383. data/lib/reacon-sdk/models/mail_post_inbox_by_message_id_request.rb +216 -0
  384. data/lib/reacon-sdk/models/mail_post_inbox_by_message_id_response200.rb +162 -0
  385. data/lib/reacon-sdk/models/mail_post_inbox_by_message_id_response200_message.rb +103 -0
  386. data/lib/reacon-sdk/models/mail_post_mailboxes_manual_request.rb +451 -0
  387. data/lib/reacon-sdk/models/mail_post_mailboxes_manual_request_imap.rb +469 -0
  388. data/lib/reacon-sdk/models/mail_post_mailboxes_manual_request_smtp.rb +476 -0
  389. data/lib/reacon-sdk/models/mail_post_mailboxes_manual_response200.rb +190 -0
  390. data/lib/reacon-sdk/models/mail_post_messages_by_message_id_cancel_response200.rb +164 -0
  391. data/lib/reacon-sdk/models/mail_post_messages_by_message_id_retry_response200.rb +164 -0
  392. data/lib/reacon-sdk/models/mail_post_messages_request.rb +407 -0
  393. data/lib/reacon-sdk/models/mail_post_messages_request_to.rb +210 -0
  394. data/lib/reacon-sdk/models/mail_post_messages_response201.rb +164 -0
  395. data/lib/reacon-sdk/models/mail_post_oauth_begin_request.rb +262 -0
  396. data/lib/reacon-sdk/models/mail_post_oauth_begin_response200.rb +190 -0
  397. data/lib/reacon-sdk/models/mail_post_portfolio_export_response200.rb +240 -0
  398. data/lib/reacon-sdk/models/mail_post_portfolio_request.rb +182 -0
  399. data/lib/reacon-sdk/models/mail_post_portfolio_response200.rb +238 -0
  400. data/lib/reacon-sdk/models/mail_post_portfolio_suppressions_request.rb +103 -0
  401. data/lib/reacon-sdk/models/mail_post_portfolio_suppressions_request_any_of.rb +262 -0
  402. data/lib/reacon-sdk/models/mail_post_portfolio_suppressions_request_any_of1.rb +282 -0
  403. data/lib/reacon-sdk/models/mail_post_portfolio_suppressions_response200.rb +192 -0
  404. data/lib/reacon-sdk/models/mail_post_portfolio_teams_request.rb +182 -0
  405. data/lib/reacon-sdk/models/mail_post_portfolio_teams_response200.rb +164 -0
  406. data/lib/reacon-sdk/models/mail_post_reply_automations_request.rb +345 -0
  407. data/lib/reacon-sdk/models/mail_post_reply_automations_request_actions.rb +238 -0
  408. data/lib/reacon-sdk/models/mail_post_reply_automations_request_actions_task.rb +226 -0
  409. data/lib/reacon-sdk/models/mail_post_reply_automations_response200.rb +164 -0
  410. data/lib/reacon-sdk/models/mail_post_suppressions_request.rb +103 -0
  411. data/lib/reacon-sdk/models/mail_post_suppressions_request_any_of.rb +223 -0
  412. data/lib/reacon-sdk/models/mail_post_suppressions_request_any_of1.rb +243 -0
  413. data/lib/reacon-sdk/models/mail_post_suppressions_response200.rb +164 -0
  414. data/lib/reacon-sdk/models/mail_post_templates_by_template_id_copy_request.rb +182 -0
  415. data/lib/reacon-sdk/models/mail_post_templates_by_template_id_copy_response200.rb +164 -0
  416. data/lib/reacon-sdk/models/mail_post_templates_request.rb +387 -0
  417. data/lib/reacon-sdk/models/mail_post_templates_request_whatsapp_approval.rb +296 -0
  418. data/lib/reacon-sdk/models/mail_post_templates_response200.rb +164 -0
  419. data/lib/reacon-sdk/models/mail_post_tracking_domain_request.rb +182 -0
  420. data/lib/reacon-sdk/models/mail_post_tracking_domain_response200.rb +164 -0
  421. data/lib/reacon-sdk/models/mail_post_tracking_domain_verify_response200.rb +242 -0
  422. data/lib/reacon-sdk/models/mail_post_webhooks_by_subscription_id_reconcile_response200.rb +242 -0
  423. data/lib/reacon-sdk/models/mail_post_webhooks_by_subscription_id_rotate_secret_response200.rb +190 -0
  424. data/lib/reacon-sdk/models/mail_post_webhooks_by_subscription_id_status_request.rb +188 -0
  425. data/lib/reacon-sdk/models/mail_post_webhooks_by_subscription_id_status_response200.rb +164 -0
  426. data/lib/reacon-sdk/models/mail_post_webhooks_deliveries_by_delivery_id_replay_response200.rb +164 -0
  427. data/lib/reacon-sdk/models/mail_post_webhooks_request.rb +211 -0
  428. data/lib/reacon-sdk/models/mail_post_webhooks_response201.rb +190 -0
  429. data/lib/reacon-sdk/models/mail_provider_failure.rb +104 -0
  430. data/lib/reacon-sdk/models/mail_put_crm_states_request.rb +306 -0
  431. data/lib/reacon-sdk/models/mail_put_crm_states_response200.rb +164 -0
  432. data/lib/reacon-sdk/models/mail_put_deliverability_pools_by_pool_id_members_by_mailbox_id_request.rb +227 -0
  433. data/lib/reacon-sdk/models/mail_put_deliverability_pools_by_pool_id_members_by_mailbox_id_response200.rb +164 -0
  434. data/lib/reacon-sdk/models/mail_queue_snapshot.rb +260 -0
  435. data/lib/reacon-sdk/models/mail_quota_rule.rb +190 -0
  436. data/lib/reacon-sdk/models/mail_rendered_message.rb +199 -0
  437. data/lib/reacon-sdk/models/mail_reply_automation_rule.rb +374 -0
  438. data/lib/reacon-sdk/models/mail_reply_automation_rule_actions.rb +191 -0
  439. data/lib/reacon-sdk/models/mail_reply_automation_rule_actions_task.rb +190 -0
  440. data/lib/reacon-sdk/models/mail_reply_classification_result.rb +270 -0
  441. data/lib/reacon-sdk/models/mail_sending_window.rb +218 -0
  442. data/lib/reacon-sdk/models/mail_sequence_run_record.rb +366 -0
  443. data/lib/reacon-sdk/models/mail_signature_candidate.rb +424 -0
  444. data/lib/reacon-sdk/models/mail_signature_candidate_fields.rb +286 -0
  445. data/lib/reacon-sdk/models/mail_signature_candidate_fields_phones_inner.rb +294 -0
  446. data/lib/reacon-sdk/models/mail_stored_imap_settings.rb +288 -0
  447. data/lib/reacon-sdk/models/mail_stored_smtp_settings.rb +286 -0
  448. data/lib/reacon-sdk/models/mail_suppression_record.rb +277 -0
  449. data/lib/reacon-sdk/models/mail_tracking_domain_record.rb +303 -0
  450. data/lib/reacon-sdk/models/mail_webhook_delivery.rb +496 -0
  451. data/lib/reacon-sdk/models/mail_webhook_event_snapshot.rb +268 -0
  452. data/lib/reacon-sdk/models/mcp_identity.rb +360 -0
  453. data/lib/reacon-sdk/models/mcp_identity_list.rb +166 -0
  454. data/lib/reacon-sdk/models/mcp_identity_response.rb +164 -0
  455. data/lib/reacon-sdk/models/name_pattern.rb +190 -0
  456. data/lib/reacon-sdk/models/name_patterns_response.rb +166 -0
  457. data/lib/reacon-sdk/models/name_verification_empty_final.rb +190 -0
  458. data/lib/reacon-sdk/models/name_verification_item.rb +226 -0
  459. data/lib/reacon-sdk/models/name_verification_response.rb +222 -0
  460. data/lib/reacon-sdk/models/person_insight.rb +374 -0
  461. data/lib/reacon-sdk/models/preview_sheet_workflow_request.rb +175 -0
  462. data/lib/reacon-sdk/models/product_account_info_execution.rb +252 -0
  463. data/lib/reacon-sdk/models/product_account_info_output.rb +254 -0
  464. data/lib/reacon-sdk/models/product_combined_enrich_execution.rb +252 -0
  465. data/lib/reacon-sdk/models/product_combined_enrich_input.rb +184 -0
  466. data/lib/reacon-sdk/models/product_combined_enrich_output.rb +190 -0
  467. data/lib/reacon-sdk/models/product_companies_list_execution.rb +252 -0
  468. data/lib/reacon-sdk/models/product_companies_list_input.rb +216 -0
  469. data/lib/reacon-sdk/models/product_companies_list_output.rb +244 -0
  470. data/lib/reacon-sdk/models/product_company.rb +297 -0
  471. data/lib/reacon-sdk/models/product_company_delete_execution.rb +266 -0
  472. data/lib/reacon-sdk/models/product_company_delete_input.rb +219 -0
  473. data/lib/reacon-sdk/models/product_company_delete_output.rb +190 -0
  474. data/lib/reacon-sdk/models/product_company_enrich_execution.rb +252 -0
  475. data/lib/reacon-sdk/models/product_company_enrich_input.rb +165 -0
  476. data/lib/reacon-sdk/models/product_company_list.rb +268 -0
  477. data/lib/reacon-sdk/models/product_company_list_add_execution.rb +266 -0
  478. data/lib/reacon-sdk/models/product_company_list_add_input.rb +256 -0
  479. data/lib/reacon-sdk/models/product_company_list_add_output.rb +216 -0
  480. data/lib/reacon-sdk/models/product_company_list_create_execution.rb +266 -0
  481. data/lib/reacon-sdk/models/product_company_list_create_input.rb +209 -0
  482. data/lib/reacon-sdk/models/product_company_list_remove_execution.rb +266 -0
  483. data/lib/reacon-sdk/models/product_company_list_remove_input.rb +256 -0
  484. data/lib/reacon-sdk/models/product_company_list_remove_output.rb +216 -0
  485. data/lib/reacon-sdk/models/product_company_lists_list_execution.rb +252 -0
  486. data/lib/reacon-sdk/models/product_company_lists_list_output.rb +166 -0
  487. data/lib/reacon-sdk/models/product_company_summary.rb +236 -0
  488. data/lib/reacon-sdk/models/product_company_track_execution.rb +266 -0
  489. data/lib/reacon-sdk/models/product_company_track_input.rb +239 -0
  490. data/lib/reacon-sdk/models/product_company_track_output.rb +216 -0
  491. data/lib/reacon-sdk/models/product_company_update_execution.rb +266 -0
  492. data/lib/reacon-sdk/models/product_company_update_input.rb +303 -0
  493. data/lib/reacon-sdk/models/product_company_update_output.rb +200 -0
  494. data/lib/reacon-sdk/models/product_connected_app.rb +294 -0
  495. data/lib/reacon-sdk/models/product_connected_app_push_execution.rb +266 -0
  496. data/lib/reacon-sdk/models/product_connected_app_push_input.rb +265 -0
  497. data/lib/reacon-sdk/models/product_connected_app_push_output.rb +216 -0
  498. data/lib/reacon-sdk/models/product_connected_apps_execution.rb +252 -0
  499. data/lib/reacon-sdk/models/product_connected_apps_output.rb +166 -0
  500. data/lib/reacon-sdk/models/product_custom_attribute.rb +268 -0
  501. data/lib/reacon-sdk/models/product_custom_attribute_create_execution.rb +266 -0
  502. data/lib/reacon-sdk/models/product_custom_attribute_create_input.rb +246 -0
  503. data/lib/reacon-sdk/models/product_custom_attributes_list_execution.rb +252 -0
  504. data/lib/reacon-sdk/models/product_custom_attributes_list_output.rb +166 -0
  505. data/lib/reacon-sdk/models/product_dated_recipient.rb +306 -0
  506. data/lib/reacon-sdk/models/product_discover_companies_execution.rb +252 -0
  507. data/lib/reacon-sdk/models/product_discover_companies_input.rb +263 -0
  508. data/lib/reacon-sdk/models/product_discover_companies_output.rb +166 -0
  509. data/lib/reacon-sdk/models/product_discover_people_execution.rb +252 -0
  510. data/lib/reacon-sdk/models/product_discover_people_input.rb +245 -0
  511. data/lib/reacon-sdk/models/product_discover_people_output.rb +166 -0
  512. data/lib/reacon-sdk/models/product_domain_finder_execution.rb +252 -0
  513. data/lib/reacon-sdk/models/product_domain_finder_input.rb +165 -0
  514. data/lib/reacon-sdk/models/product_domain_finder_output.rb +227 -0
  515. data/lib/reacon-sdk/models/product_email_count_execution.rb +252 -0
  516. data/lib/reacon-sdk/models/product_email_count_input.rb +165 -0
  517. data/lib/reacon-sdk/models/product_email_count_output.rb +242 -0
  518. data/lib/reacon-sdk/models/product_lead.rb +317 -0
  519. data/lib/reacon-sdk/models/product_lead_bulk_delete_execution.rb +266 -0
  520. data/lib/reacon-sdk/models/product_lead_bulk_delete_input.rb +228 -0
  521. data/lib/reacon-sdk/models/product_lead_bulk_delete_output.rb +192 -0
  522. data/lib/reacon-sdk/models/product_lead_create_execution.rb +266 -0
  523. data/lib/reacon-sdk/models/product_lead_create_input.rb +360 -0
  524. data/lib/reacon-sdk/models/product_lead_delete_execution.rb +266 -0
  525. data/lib/reacon-sdk/models/product_lead_delete_input.rb +219 -0
  526. data/lib/reacon-sdk/models/product_lead_delete_output.rb +190 -0
  527. data/lib/reacon-sdk/models/product_lead_enrich_execution.rb +266 -0
  528. data/lib/reacon-sdk/models/product_lead_enrich_input.rb +219 -0
  529. data/lib/reacon-sdk/models/product_lead_get_execution.rb +252 -0
  530. data/lib/reacon-sdk/models/product_lead_get_input.rb +175 -0
  531. data/lib/reacon-sdk/models/product_lead_list.rb +268 -0
  532. data/lib/reacon-sdk/models/product_lead_list_add_lead_execution.rb +266 -0
  533. data/lib/reacon-sdk/models/product_lead_list_add_lead_input.rb +256 -0
  534. data/lib/reacon-sdk/models/product_lead_list_add_lead_output.rb +216 -0
  535. data/lib/reacon-sdk/models/product_lead_list_create_execution.rb +266 -0
  536. data/lib/reacon-sdk/models/product_lead_list_create_input.rb +209 -0
  537. data/lib/reacon-sdk/models/product_lead_list_delete_execution.rb +266 -0
  538. data/lib/reacon-sdk/models/product_lead_list_delete_input.rb +219 -0
  539. data/lib/reacon-sdk/models/product_lead_list_delete_output.rb +190 -0
  540. data/lib/reacon-sdk/models/product_lead_list_remove_lead_execution.rb +266 -0
  541. data/lib/reacon-sdk/models/product_lead_list_remove_lead_input.rb +256 -0
  542. data/lib/reacon-sdk/models/product_lead_list_remove_lead_output.rb +216 -0
  543. data/lib/reacon-sdk/models/product_lead_list_update_execution.rb +266 -0
  544. data/lib/reacon-sdk/models/product_lead_list_update_input.rb +246 -0
  545. data/lib/reacon-sdk/models/product_lead_lists_list_execution.rb +252 -0
  546. data/lib/reacon-sdk/models/product_lead_lists_list_output.rb +166 -0
  547. data/lib/reacon-sdk/models/product_lead_tag_assign_execution.rb +266 -0
  548. data/lib/reacon-sdk/models/product_lead_tag_assign_input.rb +256 -0
  549. data/lib/reacon-sdk/models/product_lead_tag_assign_output.rb +216 -0
  550. data/lib/reacon-sdk/models/product_lead_tag_create_execution.rb +266 -0
  551. data/lib/reacon-sdk/models/product_lead_tag_create_input.rb +209 -0
  552. data/lib/reacon-sdk/models/product_lead_tag_remove_execution.rb +266 -0
  553. data/lib/reacon-sdk/models/product_lead_tag_remove_input.rb +256 -0
  554. data/lib/reacon-sdk/models/product_lead_tag_remove_output.rb +216 -0
  555. data/lib/reacon-sdk/models/product_lead_tags_list_execution.rb +252 -0
  556. data/lib/reacon-sdk/models/product_lead_tags_list_output.rb +166 -0
  557. data/lib/reacon-sdk/models/product_lead_update_execution.rb +266 -0
  558. data/lib/reacon-sdk/models/product_lead_update_input.rb +343 -0
  559. data/lib/reacon-sdk/models/product_lead_upsert_execution.rb +266 -0
  560. data/lib/reacon-sdk/models/product_lead_upsert_input.rb +360 -0
  561. data/lib/reacon-sdk/models/product_lead_with_attributes.rb +345 -0
  562. data/lib/reacon-sdk/models/product_leads_list_execution.rb +252 -0
  563. data/lib/reacon-sdk/models/product_leads_list_input.rb +246 -0
  564. data/lib/reacon-sdk/models/product_leads_list_output.rb +244 -0
  565. data/lib/reacon-sdk/models/product_named_resource.rb +242 -0
  566. data/lib/reacon-sdk/models/product_person.rb +286 -0
  567. data/lib/reacon-sdk/models/product_person_enrich_execution.rb +252 -0
  568. data/lib/reacon-sdk/models/product_person_enrich_input.rb +184 -0
  569. data/lib/reacon-sdk/models/product_person_summary.rb +264 -0
  570. data/lib/reacon-sdk/models/product_recipient.rb +254 -0
  571. data/lib/reacon-sdk/models/product_saved_searches_list_execution.rb +252 -0
  572. data/lib/reacon-sdk/models/product_saved_searches_list_output.rb +176 -0
  573. data/lib/reacon-sdk/models/product_sequence.rb +294 -0
  574. data/lib/reacon-sdk/models/product_sequence_recipient_add_execution.rb +266 -0
  575. data/lib/reacon-sdk/models/product_sequence_recipient_add_input.rb +295 -0
  576. data/lib/reacon-sdk/models/product_sequence_recipient_add_output.rb +192 -0
  577. data/lib/reacon-sdk/models/product_sequence_recipient_cancel_execution.rb +266 -0
  578. data/lib/reacon-sdk/models/product_sequence_recipient_cancel_input.rb +219 -0
  579. data/lib/reacon-sdk/models/product_sequence_recipients_add_execution.rb +266 -0
  580. data/lib/reacon-sdk/models/product_sequence_recipients_add_input.rb +265 -0
  581. data/lib/reacon-sdk/models/product_sequence_recipients_add_input_recipients_inner.rb +214 -0
  582. data/lib/reacon-sdk/models/product_sequence_recipients_add_output.rb +192 -0
  583. data/lib/reacon-sdk/models/product_sequence_recipients_list_execution.rb +252 -0
  584. data/lib/reacon-sdk/models/product_sequence_recipients_list_input.rb +175 -0
  585. data/lib/reacon-sdk/models/product_sequence_recipients_list_output.rb +166 -0
  586. data/lib/reacon-sdk/models/product_sequence_start_execution.rb +266 -0
  587. data/lib/reacon-sdk/models/product_sequence_start_input.rb +219 -0
  588. data/lib/reacon-sdk/models/product_sequence_start_output.rb +216 -0
  589. data/lib/reacon-sdk/models/product_sequences_list_execution.rb +252 -0
  590. data/lib/reacon-sdk/models/product_sequences_list_output.rb +166 -0
  591. data/lib/reacon-sdk/models/product_team_member.rb +216 -0
  592. data/lib/reacon-sdk/models/product_team_members_execution.rb +252 -0
  593. data/lib/reacon-sdk/models/product_team_members_output.rb +166 -0
  594. data/lib/reacon-sdk/models/product_tool_execution.rb +147 -0
  595. data/lib/reacon-sdk/models/product_tool_request.rb +164 -0
  596. data/lib/reacon-sdk/models/product_tool_request_input.rb +131 -0
  597. data/lib/reacon-sdk/models/product_tracked_company.rb +262 -0
  598. data/lib/reacon-sdk/models/product_usage_execution.rb +252 -0
  599. data/lib/reacon-sdk/models/product_usage_history_execution.rb +252 -0
  600. data/lib/reacon-sdk/models/product_usage_history_input.rb +216 -0
  601. data/lib/reacon-sdk/models/product_usage_history_output.rb +244 -0
  602. data/lib/reacon-sdk/models/product_usage_output.rb +228 -0
  603. data/lib/reacon-sdk/models/product_usage_transaction.rb +254 -0
  604. data/lib/reacon-sdk/models/public_stats.rb +216 -0
  605. data/lib/reacon-sdk/models/queue_integration_lead_export_request.rb +274 -0
  606. data/lib/reacon-sdk/models/queue_integration_lead_export_request_selection_scopes_inner.rb +274 -0
  607. data/lib/reacon-sdk/models/queue_notification_test_request.rb +175 -0
  608. data/lib/reacon-sdk/models/queued_integration_job.rb +677 -0
  609. data/lib/reacon-sdk/models/queued_integration_job_response.rb +164 -0
  610. data/lib/reacon-sdk/models/queued_integration_job_stream_position.rb +105 -0
  611. data/lib/reacon-sdk/models/rotate_coda_credential_request.rb +182 -0
  612. data/lib/reacon-sdk/models/rotate_freshsales_credential_request.rb +182 -0
  613. data/lib/reacon-sdk/models/run_sheet_workflow_request.rb +175 -0
  614. data/lib/reacon-sdk/models/save_sheet_workflow_request.rb +289 -0
  615. data/lib/reacon-sdk/models/segment_installation_created.rb +269 -0
  616. data/lib/reacon-sdk/models/sheet_workflow.rb +429 -0
  617. data/lib/reacon-sdk/models/sheet_workflow_deleted.rb +190 -0
  618. data/lib/reacon-sdk/models/sheet_workflow_list.rb +166 -0
  619. data/lib/reacon-sdk/models/sheet_workflow_preview.rb +305 -0
  620. data/lib/reacon-sdk/models/sheet_workflow_preview_rows_inner.rb +193 -0
  621. data/lib/reacon-sdk/models/sheet_workflow_response.rb +164 -0
  622. data/lib/reacon-sdk/models/sheet_workflow_state_response.rb +104 -0
  623. data/lib/reacon-sdk/models/sheet_workflow_validation.rb +162 -0
  624. data/lib/reacon-sdk/models/start_attio_o_auth_request.rb +175 -0
  625. data/lib/reacon-sdk/models/start_google_sheets_o_auth_request.rb +175 -0
  626. data/lib/reacon-sdk/models/start_integration_o_auth_request.rb +249 -0
  627. data/lib/reacon-sdk/models/update_integration_connection_state_request.rb +188 -0
  628. data/lib/reacon-sdk/models/update_lead_request.rb +352 -0
  629. data/lib/reacon-sdk/models/update_lead_request_company.rb +251 -0
  630. data/lib/reacon-sdk/models/update_lead_request_person.rb +208 -0
  631. data/lib/reacon-sdk/models/update_lead_response.rb +164 -0
  632. data/lib/reacon-sdk/models/update_lead_response_lead.rb +357 -0
  633. data/lib/reacon-sdk/models/update_sheet_workflow_state_request.rb +188 -0
  634. data/lib/reacon-sdk/models/verification_final.rb +190 -0
  635. data/lib/reacon-sdk/models/verification_progress.rb +290 -0
  636. data/lib/reacon-sdk/models/verification_response.rb +218 -0
  637. data/lib/reacon-sdk/models/verification_result.rb +275 -0
  638. data/lib/reacon-sdk/models/verification_stage.rb +220 -0
  639. data/lib/reacon-sdk/models/verification_stream_error.rb +234 -0
  640. data/lib/reacon-sdk/verification_stream.rb +177 -0
  641. data/lib/reacon-sdk/version.rb +15 -0
  642. data/lib/reacon-sdk.rb +673 -0
  643. data/reacon-sdk.gemspec +44 -0
  644. data/spec/spec_helper.rb +111 -0
  645. metadata +809 -0
@@ -0,0 +1,463 @@
1
+ =begin
2
+ #Reacon API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Reacon
17
+ class MailExperimentRevisionRecord < ApiModelBase
18
+ attr_accessor :attribution_window_ms
19
+
20
+ attr_accessor :cadence_version
21
+
22
+ attr_accessor :created_at
23
+
24
+ attr_accessor :definition_hash
25
+
26
+ attr_accessor :experiment_key
27
+
28
+ attr_accessor :guardrail_metrics
29
+
30
+ attr_accessor :hypothesis
31
+
32
+ attr_accessor :minimum_runtime_ms
33
+
34
+ attr_accessor :minimum_sample_size
35
+
36
+ attr_accessor :primary_metric
37
+
38
+ attr_accessor :revision
39
+
40
+ attr_accessor :tenant_id
41
+
42
+ attr_accessor :variants
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ :'attribution_window_ms' => :'attributionWindowMs',
48
+ :'cadence_version' => :'cadenceVersion',
49
+ :'created_at' => :'createdAt',
50
+ :'definition_hash' => :'definitionHash',
51
+ :'experiment_key' => :'experimentKey',
52
+ :'guardrail_metrics' => :'guardrailMetrics',
53
+ :'hypothesis' => :'hypothesis',
54
+ :'minimum_runtime_ms' => :'minimumRuntimeMs',
55
+ :'minimum_sample_size' => :'minimumSampleSize',
56
+ :'primary_metric' => :'primaryMetric',
57
+ :'revision' => :'revision',
58
+ :'tenant_id' => :'tenantId',
59
+ :'variants' => :'variants'
60
+ }
61
+ end
62
+
63
+ # Returns attribute mapping this model knows about
64
+ def self.acceptable_attribute_map
65
+ attribute_map
66
+ end
67
+
68
+ # Returns all the JSON keys this model knows about
69
+ def self.acceptable_attributes
70
+ acceptable_attribute_map.values
71
+ end
72
+
73
+ # Attribute type mapping.
74
+ def self.openapi_types
75
+ {
76
+ :'attribution_window_ms' => :'Float',
77
+ :'cadence_version' => :'Float',
78
+ :'created_at' => :'Time',
79
+ :'definition_hash' => :'String',
80
+ :'experiment_key' => :'String',
81
+ :'guardrail_metrics' => :'Array<String>',
82
+ :'hypothesis' => :'String',
83
+ :'minimum_runtime_ms' => :'Float',
84
+ :'minimum_sample_size' => :'Float',
85
+ :'primary_metric' => :'String',
86
+ :'revision' => :'Float',
87
+ :'tenant_id' => :'String',
88
+ :'variants' => :'Array<MailExperimentVariant>'
89
+ }
90
+ end
91
+
92
+ # List of attributes with nullable: true
93
+ def self.openapi_nullable
94
+ Set.new([
95
+ ])
96
+ end
97
+
98
+ # Initializes the object
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ def initialize(attributes = {})
101
+ if (!attributes.is_a?(Hash))
102
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Reacon::MailExperimentRevisionRecord` initialize method"
103
+ end
104
+
105
+ # check to see if the attribute exists and convert string to symbol for hash key
106
+ acceptable_attribute_map = self.class.acceptable_attribute_map
107
+ attributes = attributes.each_with_object({}) { |(k, v), h|
108
+ if (!acceptable_attribute_map.key?(k.to_sym))
109
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Reacon::MailExperimentRevisionRecord`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
110
+ end
111
+ h[k.to_sym] = v
112
+ }
113
+
114
+ if attributes.key?(:'attribution_window_ms')
115
+ self.attribution_window_ms = attributes[:'attribution_window_ms']
116
+ else
117
+ self.attribution_window_ms = nil
118
+ end
119
+
120
+ if attributes.key?(:'cadence_version')
121
+ self.cadence_version = attributes[:'cadence_version']
122
+ else
123
+ self.cadence_version = nil
124
+ end
125
+
126
+ if attributes.key?(:'created_at')
127
+ self.created_at = attributes[:'created_at']
128
+ else
129
+ self.created_at = nil
130
+ end
131
+
132
+ if attributes.key?(:'definition_hash')
133
+ self.definition_hash = attributes[:'definition_hash']
134
+ else
135
+ self.definition_hash = nil
136
+ end
137
+
138
+ if attributes.key?(:'experiment_key')
139
+ self.experiment_key = attributes[:'experiment_key']
140
+ else
141
+ self.experiment_key = nil
142
+ end
143
+
144
+ if attributes.key?(:'guardrail_metrics')
145
+ if (value = attributes[:'guardrail_metrics']).is_a?(Array)
146
+ self.guardrail_metrics = value
147
+ end
148
+ else
149
+ self.guardrail_metrics = nil
150
+ end
151
+
152
+ if attributes.key?(:'hypothesis')
153
+ self.hypothesis = attributes[:'hypothesis']
154
+ end
155
+
156
+ if attributes.key?(:'minimum_runtime_ms')
157
+ self.minimum_runtime_ms = attributes[:'minimum_runtime_ms']
158
+ else
159
+ self.minimum_runtime_ms = nil
160
+ end
161
+
162
+ if attributes.key?(:'minimum_sample_size')
163
+ self.minimum_sample_size = attributes[:'minimum_sample_size']
164
+ else
165
+ self.minimum_sample_size = nil
166
+ end
167
+
168
+ if attributes.key?(:'primary_metric')
169
+ self.primary_metric = attributes[:'primary_metric']
170
+ else
171
+ self.primary_metric = nil
172
+ end
173
+
174
+ if attributes.key?(:'revision')
175
+ self.revision = attributes[:'revision']
176
+ else
177
+ self.revision = nil
178
+ end
179
+
180
+ if attributes.key?(:'tenant_id')
181
+ self.tenant_id = attributes[:'tenant_id']
182
+ else
183
+ self.tenant_id = nil
184
+ end
185
+
186
+ if attributes.key?(:'variants')
187
+ if (value = attributes[:'variants']).is_a?(Array)
188
+ self.variants = value
189
+ end
190
+ else
191
+ self.variants = nil
192
+ end
193
+ end
194
+
195
+ # Show invalid properties with the reasons. Usually used together with valid?
196
+ # @return Array for valid properties with the reasons
197
+ def list_invalid_properties
198
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
199
+ invalid_properties = Array.new
200
+ if @attribution_window_ms.nil?
201
+ invalid_properties.push('invalid value for "attribution_window_ms", attribution_window_ms cannot be nil.')
202
+ end
203
+
204
+ if @cadence_version.nil?
205
+ invalid_properties.push('invalid value for "cadence_version", cadence_version cannot be nil.')
206
+ end
207
+
208
+ if @created_at.nil?
209
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
210
+ end
211
+
212
+ if @definition_hash.nil?
213
+ invalid_properties.push('invalid value for "definition_hash", definition_hash cannot be nil.')
214
+ end
215
+
216
+ if @experiment_key.nil?
217
+ invalid_properties.push('invalid value for "experiment_key", experiment_key cannot be nil.')
218
+ end
219
+
220
+ if @guardrail_metrics.nil?
221
+ invalid_properties.push('invalid value for "guardrail_metrics", guardrail_metrics cannot be nil.')
222
+ end
223
+
224
+ if @minimum_runtime_ms.nil?
225
+ invalid_properties.push('invalid value for "minimum_runtime_ms", minimum_runtime_ms cannot be nil.')
226
+ end
227
+
228
+ if @minimum_sample_size.nil?
229
+ invalid_properties.push('invalid value for "minimum_sample_size", minimum_sample_size cannot be nil.')
230
+ end
231
+
232
+ if @primary_metric.nil?
233
+ invalid_properties.push('invalid value for "primary_metric", primary_metric cannot be nil.')
234
+ end
235
+
236
+ if @revision.nil?
237
+ invalid_properties.push('invalid value for "revision", revision cannot be nil.')
238
+ end
239
+
240
+ if @tenant_id.nil?
241
+ invalid_properties.push('invalid value for "tenant_id", tenant_id cannot be nil.')
242
+ end
243
+
244
+ if @variants.nil?
245
+ invalid_properties.push('invalid value for "variants", variants cannot be nil.')
246
+ end
247
+
248
+ invalid_properties
249
+ end
250
+
251
+ # Check to see if the all the properties in the model are valid
252
+ # @return true if the model is valid
253
+ def valid?
254
+ warn '[DEPRECATED] the `valid?` method is obsolete'
255
+ return false if @attribution_window_ms.nil?
256
+ return false if @cadence_version.nil?
257
+ return false if @created_at.nil?
258
+ return false if @definition_hash.nil?
259
+ return false if @experiment_key.nil?
260
+ return false if @guardrail_metrics.nil?
261
+ return false if @minimum_runtime_ms.nil?
262
+ return false if @minimum_sample_size.nil?
263
+ return false if @primary_metric.nil?
264
+ return false if @revision.nil?
265
+ return false if @tenant_id.nil?
266
+ return false if @variants.nil?
267
+ true
268
+ end
269
+
270
+ # Custom attribute writer method with validation
271
+ # @param [Object] attribution_window_ms Value to be assigned
272
+ def attribution_window_ms=(attribution_window_ms)
273
+ if attribution_window_ms.nil?
274
+ fail ArgumentError, 'attribution_window_ms cannot be nil'
275
+ end
276
+
277
+ @attribution_window_ms = attribution_window_ms
278
+ end
279
+
280
+ # Custom attribute writer method with validation
281
+ # @param [Object] cadence_version Value to be assigned
282
+ def cadence_version=(cadence_version)
283
+ if cadence_version.nil?
284
+ fail ArgumentError, 'cadence_version cannot be nil'
285
+ end
286
+
287
+ @cadence_version = cadence_version
288
+ end
289
+
290
+ # Custom attribute writer method with validation
291
+ # @param [Object] created_at Value to be assigned
292
+ def created_at=(created_at)
293
+ if created_at.nil?
294
+ fail ArgumentError, 'created_at cannot be nil'
295
+ end
296
+
297
+ @created_at = created_at
298
+ end
299
+
300
+ # Custom attribute writer method with validation
301
+ # @param [Object] definition_hash Value to be assigned
302
+ def definition_hash=(definition_hash)
303
+ if definition_hash.nil?
304
+ fail ArgumentError, 'definition_hash cannot be nil'
305
+ end
306
+
307
+ @definition_hash = definition_hash
308
+ end
309
+
310
+ # Custom attribute writer method with validation
311
+ # @param [Object] experiment_key Value to be assigned
312
+ def experiment_key=(experiment_key)
313
+ if experiment_key.nil?
314
+ fail ArgumentError, 'experiment_key cannot be nil'
315
+ end
316
+
317
+ @experiment_key = experiment_key
318
+ end
319
+
320
+ # Custom attribute writer method with validation
321
+ # @param [Object] guardrail_metrics Value to be assigned
322
+ def guardrail_metrics=(guardrail_metrics)
323
+ if guardrail_metrics.nil?
324
+ fail ArgumentError, 'guardrail_metrics cannot be nil'
325
+ end
326
+
327
+ @guardrail_metrics = guardrail_metrics
328
+ end
329
+
330
+ # Custom attribute writer method with validation
331
+ # @param [Object] minimum_runtime_ms Value to be assigned
332
+ def minimum_runtime_ms=(minimum_runtime_ms)
333
+ if minimum_runtime_ms.nil?
334
+ fail ArgumentError, 'minimum_runtime_ms cannot be nil'
335
+ end
336
+
337
+ @minimum_runtime_ms = minimum_runtime_ms
338
+ end
339
+
340
+ # Custom attribute writer method with validation
341
+ # @param [Object] minimum_sample_size Value to be assigned
342
+ def minimum_sample_size=(minimum_sample_size)
343
+ if minimum_sample_size.nil?
344
+ fail ArgumentError, 'minimum_sample_size cannot be nil'
345
+ end
346
+
347
+ @minimum_sample_size = minimum_sample_size
348
+ end
349
+
350
+ # Custom attribute writer method with validation
351
+ # @param [Object] primary_metric Value to be assigned
352
+ def primary_metric=(primary_metric)
353
+ if primary_metric.nil?
354
+ fail ArgumentError, 'primary_metric cannot be nil'
355
+ end
356
+
357
+ @primary_metric = primary_metric
358
+ end
359
+
360
+ # Custom attribute writer method with validation
361
+ # @param [Object] revision Value to be assigned
362
+ def revision=(revision)
363
+ if revision.nil?
364
+ fail ArgumentError, 'revision cannot be nil'
365
+ end
366
+
367
+ @revision = revision
368
+ end
369
+
370
+ # Custom attribute writer method with validation
371
+ # @param [Object] tenant_id Value to be assigned
372
+ def tenant_id=(tenant_id)
373
+ if tenant_id.nil?
374
+ fail ArgumentError, 'tenant_id cannot be nil'
375
+ end
376
+
377
+ @tenant_id = tenant_id
378
+ end
379
+
380
+ # Custom attribute writer method with validation
381
+ # @param [Object] variants Value to be assigned
382
+ def variants=(variants)
383
+ if variants.nil?
384
+ fail ArgumentError, 'variants cannot be nil'
385
+ end
386
+
387
+ @variants = variants
388
+ end
389
+
390
+ # Checks equality by comparing each attribute.
391
+ # @param [Object] Object to be compared
392
+ def ==(o)
393
+ return true if self.equal?(o)
394
+ self.class == o.class &&
395
+ attribution_window_ms == o.attribution_window_ms &&
396
+ cadence_version == o.cadence_version &&
397
+ created_at == o.created_at &&
398
+ definition_hash == o.definition_hash &&
399
+ experiment_key == o.experiment_key &&
400
+ guardrail_metrics == o.guardrail_metrics &&
401
+ hypothesis == o.hypothesis &&
402
+ minimum_runtime_ms == o.minimum_runtime_ms &&
403
+ minimum_sample_size == o.minimum_sample_size &&
404
+ primary_metric == o.primary_metric &&
405
+ revision == o.revision &&
406
+ tenant_id == o.tenant_id &&
407
+ variants == o.variants
408
+ end
409
+
410
+ # @see the `==` method
411
+ # @param [Object] Object to be compared
412
+ def eql?(o)
413
+ self == o
414
+ end
415
+
416
+ # Calculates hash code according to all attributes.
417
+ # @return [Integer] Hash code
418
+ def hash
419
+ [attribution_window_ms, cadence_version, created_at, definition_hash, experiment_key, guardrail_metrics, hypothesis, minimum_runtime_ms, minimum_sample_size, primary_metric, revision, tenant_id, variants].hash
420
+ end
421
+
422
+ # Builds the object from hash
423
+ # @param [Hash] attributes Model attributes in the form of hash
424
+ # @return [Object] Returns the model itself
425
+ def self.build_from_hash(attributes)
426
+ return nil unless attributes.is_a?(Hash)
427
+ attributes = attributes.transform_keys(&:to_sym)
428
+ transformed_hash = {}
429
+ openapi_types.each_pair do |key, type|
430
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
431
+ transformed_hash["#{key}"] = nil
432
+ elsif type =~ /\AArray<(.*)>/i
433
+ # check to ensure the input is an array given that the attribute
434
+ # is documented as an array but the input is not
435
+ if attributes[attribute_map[key]].is_a?(Array)
436
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
437
+ end
438
+ elsif !attributes[attribute_map[key]].nil?
439
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
440
+ end
441
+ end
442
+ new(transformed_hash)
443
+ end
444
+
445
+ # Returns the object in the form of hash
446
+ # @return [Hash] Returns the object in the form of hash
447
+ def to_hash
448
+ hash = {}
449
+ self.class.attribute_map.each_pair do |attr, param|
450
+ value = self.send(attr)
451
+ if value.nil?
452
+ is_nullable = self.class.openapi_nullable.include?(attr)
453
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
454
+ end
455
+
456
+ hash[param] = _to_hash(value)
457
+ end
458
+ hash
459
+ end
460
+
461
+ end
462
+
463
+ end
@@ -0,0 +1,103 @@
1
+ =begin
2
+ #Reacon API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Reacon
17
+ module MailExperimentVariant
18
+ class << self
19
+ # List of class defined in anyOf (OpenAPI v3)
20
+ def openapi_any_of
21
+ [
22
+ :'MailCadenceMessageExperimentVariant',
23
+ :'MailCadenceWorkflowExperimentVariant'
24
+ ]
25
+ end
26
+
27
+ # Builds the object
28
+ # @param [Mixed] Data to be matched against the list of anyOf items
29
+ # @return [Object] Returns the model or the data itself
30
+ def build(data)
31
+ # Go through the list of anyOf items and attempt to identify the appropriate one.
32
+ # Note:
33
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
34
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
35
+ # - TODO: scalar values are de facto behaving as if they were nullable.
36
+ # - TODO: logging when debugging is set.
37
+ openapi_any_of.each do |klass|
38
+ begin
39
+ next if klass == :AnyType # "nullable: true"
40
+ return find_and_cast_into_type(klass, data)
41
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
42
+ end
43
+ end
44
+
45
+ openapi_any_of.include?(:AnyType) ? data : nil
46
+ end
47
+
48
+ private
49
+
50
+ SchemaMismatchError = Class.new(StandardError)
51
+
52
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
53
+ def find_and_cast_into_type(klass, data)
54
+ return if data.nil?
55
+
56
+ case klass.to_s
57
+ when 'Boolean'
58
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
59
+ when 'Float'
60
+ return data if data.instance_of?(Float)
61
+ when 'Integer'
62
+ return data if data.instance_of?(Integer)
63
+ when 'Time'
64
+ return Time.parse(data)
65
+ when 'Date'
66
+ return Date.iso8601(data)
67
+ when 'String'
68
+ return data if data.instance_of?(String)
69
+ when 'Object' # "type: object"
70
+ return data if data.instance_of?(Hash)
71
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
72
+ if data.instance_of?(Array)
73
+ sub_type = Regexp.last_match[:sub_type]
74
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
75
+ end
76
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
77
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
78
+ sub_type = Regexp.last_match[:sub_type]
79
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
80
+ end
81
+ else # model
82
+ const = Reacon.const_get(klass)
83
+ if const
84
+ if const.respond_to?(:openapi_any_of) # nested anyOf model
85
+ model = const.build(data)
86
+ return model if model
87
+ else
88
+ # raise if data contains keys that are not known to the model
89
+ raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
90
+ model = const.build_from_hash(data)
91
+ return model if model
92
+ end
93
+ end
94
+ end
95
+
96
+ raise # if no match by now, raise
97
+ rescue
98
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
99
+ end
100
+ end
101
+ end
102
+
103
+ end