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,3193 @@
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 'cgi'
14
+
15
+ module Reacon
16
+ class IntegrationsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Bind a Typeform OAuth form
23
+ # Binds a form to an existing OAuth connection and configures the provider callback.
24
+ # @param team_id [String]
25
+ # @param bind_typeform_form_request [BindTypeformFormRequest]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [IntegrationFormConnectionResponse]
28
+ def bind_typeform_form(team_id, bind_typeform_form_request, opts = {})
29
+ data, _status_code, _headers = bind_typeform_form_with_http_info(team_id, bind_typeform_form_request, opts)
30
+ data
31
+ end
32
+
33
+ # Bind a Typeform OAuth form
34
+ # Binds a form to an existing OAuth connection and configures the provider callback.
35
+ # @param team_id [String]
36
+ # @param bind_typeform_form_request [BindTypeformFormRequest]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(IntegrationFormConnectionResponse, Integer, Hash)>] IntegrationFormConnectionResponse data, response status code and response headers
39
+ def bind_typeform_form_with_http_info(team_id, bind_typeform_form_request, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.bind_typeform_form ...'
42
+ end
43
+ # verify the required parameter 'team_id' is set
44
+ if @api_client.config.client_side_validation && team_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.bind_typeform_form"
46
+ end
47
+ # verify the required parameter 'bind_typeform_form_request' is set
48
+ if @api_client.config.client_side_validation && bind_typeform_form_request.nil?
49
+ fail ArgumentError, "Missing the required parameter 'bind_typeform_form_request' when calling IntegrationsApi.bind_typeform_form"
50
+ end
51
+ # resource path
52
+ local_var_path = '/v1/teams/{teamId}/integrations/typeform/oauth/bind'.sub('{teamId}', CGI.escape(team_id.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+ # HTTP header 'Content-Type'
62
+ content_type = @api_client.select_header_content_type(['application/json'])
63
+ if !content_type.nil?
64
+ header_params['Content-Type'] = content_type
65
+ end
66
+
67
+ # form parameters
68
+ form_params = opts[:form_params] || {}
69
+
70
+ # http body (model)
71
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bind_typeform_form_request)
72
+
73
+ # return_type
74
+ return_type = opts[:debug_return_type] || 'IntegrationFormConnectionResponse'
75
+
76
+ # auth_names
77
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
78
+
79
+ new_options = opts.merge(
80
+ :operation => :"IntegrationsApi.bind_typeform_form",
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => return_type
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: IntegrationsApi#bind_typeform_form\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+
96
+ # Bind a Webflow OAuth form
97
+ # Binds a form to an existing OAuth connection and configures the provider callback.
98
+ # @param team_id [String]
99
+ # @param bind_webflow_form_request [BindWebflowFormRequest]
100
+ # @param [Hash] opts the optional parameters
101
+ # @return [IntegrationFormConnectionResponse]
102
+ def bind_webflow_form(team_id, bind_webflow_form_request, opts = {})
103
+ data, _status_code, _headers = bind_webflow_form_with_http_info(team_id, bind_webflow_form_request, opts)
104
+ data
105
+ end
106
+
107
+ # Bind a Webflow OAuth form
108
+ # Binds a form to an existing OAuth connection and configures the provider callback.
109
+ # @param team_id [String]
110
+ # @param bind_webflow_form_request [BindWebflowFormRequest]
111
+ # @param [Hash] opts the optional parameters
112
+ # @return [Array<(IntegrationFormConnectionResponse, Integer, Hash)>] IntegrationFormConnectionResponse data, response status code and response headers
113
+ def bind_webflow_form_with_http_info(team_id, bind_webflow_form_request, opts = {})
114
+ if @api_client.config.debugging
115
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.bind_webflow_form ...'
116
+ end
117
+ # verify the required parameter 'team_id' is set
118
+ if @api_client.config.client_side_validation && team_id.nil?
119
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.bind_webflow_form"
120
+ end
121
+ # verify the required parameter 'bind_webflow_form_request' is set
122
+ if @api_client.config.client_side_validation && bind_webflow_form_request.nil?
123
+ fail ArgumentError, "Missing the required parameter 'bind_webflow_form_request' when calling IntegrationsApi.bind_webflow_form"
124
+ end
125
+ # resource path
126
+ local_var_path = '/v1/teams/{teamId}/integrations/webflow/oauth/bind'.sub('{teamId}', CGI.escape(team_id.to_s))
127
+
128
+ # query parameters
129
+ query_params = opts[:query_params] || {}
130
+
131
+ # header parameters
132
+ header_params = opts[:header_params] || {}
133
+ # HTTP header 'Accept' (if needed)
134
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
135
+ # HTTP header 'Content-Type'
136
+ content_type = @api_client.select_header_content_type(['application/json'])
137
+ if !content_type.nil?
138
+ header_params['Content-Type'] = content_type
139
+ end
140
+
141
+ # form parameters
142
+ form_params = opts[:form_params] || {}
143
+
144
+ # http body (model)
145
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bind_webflow_form_request)
146
+
147
+ # return_type
148
+ return_type = opts[:debug_return_type] || 'IntegrationFormConnectionResponse'
149
+
150
+ # auth_names
151
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
152
+
153
+ new_options = opts.merge(
154
+ :operation => :"IntegrationsApi.bind_webflow_form",
155
+ :header_params => header_params,
156
+ :query_params => query_params,
157
+ :form_params => form_params,
158
+ :body => post_body,
159
+ :auth_names => auth_names,
160
+ :return_type => return_type
161
+ )
162
+
163
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
164
+ if @api_client.config.debugging
165
+ @api_client.config.logger.debug "API called: IntegrationsApi#bind_webflow_form\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
166
+ end
167
+ return data, status_code, headers
168
+ end
169
+
170
+ # Cancel an integration job
171
+ # Requires team administrator access. Cancels a pending job or requests cancellation of running work. Terminal jobs return already_terminal.
172
+ # @param team_id [String]
173
+ # @param job_id [String]
174
+ # @param [Hash] opts the optional parameters
175
+ # @return [IntegrationJobCancellation]
176
+ def cancel_integration_job(team_id, job_id, opts = {})
177
+ data, _status_code, _headers = cancel_integration_job_with_http_info(team_id, job_id, opts)
178
+ data
179
+ end
180
+
181
+ # Cancel an integration job
182
+ # Requires team administrator access. Cancels a pending job or requests cancellation of running work. Terminal jobs return already_terminal.
183
+ # @param team_id [String]
184
+ # @param job_id [String]
185
+ # @param [Hash] opts the optional parameters
186
+ # @return [Array<(IntegrationJobCancellation, Integer, Hash)>] IntegrationJobCancellation data, response status code and response headers
187
+ def cancel_integration_job_with_http_info(team_id, job_id, opts = {})
188
+ if @api_client.config.debugging
189
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.cancel_integration_job ...'
190
+ end
191
+ # verify the required parameter 'team_id' is set
192
+ if @api_client.config.client_side_validation && team_id.nil?
193
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.cancel_integration_job"
194
+ end
195
+ # verify the required parameter 'job_id' is set
196
+ if @api_client.config.client_side_validation && job_id.nil?
197
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling IntegrationsApi.cancel_integration_job"
198
+ end
199
+ # resource path
200
+ local_var_path = '/v1/teams/{teamId}/integrations/jobs/{jobId}/cancel'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{jobId}', CGI.escape(job_id.to_s))
201
+
202
+ # query parameters
203
+ query_params = opts[:query_params] || {}
204
+
205
+ # header parameters
206
+ header_params = opts[:header_params] || {}
207
+ # HTTP header 'Accept' (if needed)
208
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
209
+
210
+ # form parameters
211
+ form_params = opts[:form_params] || {}
212
+
213
+ # http body (model)
214
+ post_body = opts[:debug_body]
215
+
216
+ # return_type
217
+ return_type = opts[:debug_return_type] || 'IntegrationJobCancellation'
218
+
219
+ # auth_names
220
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
221
+
222
+ new_options = opts.merge(
223
+ :operation => :"IntegrationsApi.cancel_integration_job",
224
+ :header_params => header_params,
225
+ :query_params => query_params,
226
+ :form_params => form_params,
227
+ :body => post_body,
228
+ :auth_names => auth_names,
229
+ :return_type => return_type
230
+ )
231
+
232
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
233
+ if @api_client.config.debugging
234
+ @api_client.config.logger.debug "API called: IntegrationsApi#cancel_integration_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
235
+ end
236
+ return data, status_code, headers
237
+ end
238
+
239
+ # Configure Airtable field mapping
240
+ # Validates remote fields, updates the mapping and tests the connection. Inspect test.state for provider readiness.
241
+ # @param team_id [String]
242
+ # @param connection_id [String]
243
+ # @param configure_airtable_mapping_request [ConfigureAirtableMappingRequest]
244
+ # @param [Hash] opts the optional parameters
245
+ # @return [IntegrationConnectionTestResponse]
246
+ def configure_airtable_mapping(team_id, connection_id, configure_airtable_mapping_request, opts = {})
247
+ data, _status_code, _headers = configure_airtable_mapping_with_http_info(team_id, connection_id, configure_airtable_mapping_request, opts)
248
+ data
249
+ end
250
+
251
+ # Configure Airtable field mapping
252
+ # Validates remote fields, updates the mapping and tests the connection. Inspect test.state for provider readiness.
253
+ # @param team_id [String]
254
+ # @param connection_id [String]
255
+ # @param configure_airtable_mapping_request [ConfigureAirtableMappingRequest]
256
+ # @param [Hash] opts the optional parameters
257
+ # @return [Array<(IntegrationConnectionTestResponse, Integer, Hash)>] IntegrationConnectionTestResponse data, response status code and response headers
258
+ def configure_airtable_mapping_with_http_info(team_id, connection_id, configure_airtable_mapping_request, opts = {})
259
+ if @api_client.config.debugging
260
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_airtable_mapping ...'
261
+ end
262
+ # verify the required parameter 'team_id' is set
263
+ if @api_client.config.client_side_validation && team_id.nil?
264
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_airtable_mapping"
265
+ end
266
+ # verify the required parameter 'connection_id' is set
267
+ if @api_client.config.client_side_validation && connection_id.nil?
268
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.configure_airtable_mapping"
269
+ end
270
+ # verify the required parameter 'configure_airtable_mapping_request' is set
271
+ if @api_client.config.client_side_validation && configure_airtable_mapping_request.nil?
272
+ fail ArgumentError, "Missing the required parameter 'configure_airtable_mapping_request' when calling IntegrationsApi.configure_airtable_mapping"
273
+ end
274
+ # resource path
275
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/airtable-mapping/configure'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
276
+
277
+ # query parameters
278
+ query_params = opts[:query_params] || {}
279
+
280
+ # header parameters
281
+ header_params = opts[:header_params] || {}
282
+ # HTTP header 'Accept' (if needed)
283
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
284
+ # HTTP header 'Content-Type'
285
+ content_type = @api_client.select_header_content_type(['application/json'])
286
+ if !content_type.nil?
287
+ header_params['Content-Type'] = content_type
288
+ end
289
+
290
+ # form parameters
291
+ form_params = opts[:form_params] || {}
292
+
293
+ # http body (model)
294
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_airtable_mapping_request)
295
+
296
+ # return_type
297
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionTestResponse'
298
+
299
+ # auth_names
300
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
301
+
302
+ new_options = opts.merge(
303
+ :operation => :"IntegrationsApi.configure_airtable_mapping",
304
+ :header_params => header_params,
305
+ :query_params => query_params,
306
+ :form_params => form_params,
307
+ :body => post_body,
308
+ :auth_names => auth_names,
309
+ :return_type => return_type
310
+ )
311
+
312
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
313
+ if @api_client.config.debugging
314
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_airtable_mapping\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
315
+ end
316
+ return data, status_code, headers
317
+ end
318
+
319
+ # Configure a Coda connection
320
+ # Creates a mapped Coda connection and tests access. Inspect test.state for provider health.
321
+ # @param team_id [String]
322
+ # @param configure_coda_request [ConfigureCodaRequest]
323
+ # @param [Hash] opts the optional parameters
324
+ # @return [IntegrationConnectionTestResponse]
325
+ def configure_coda(team_id, configure_coda_request, opts = {})
326
+ data, _status_code, _headers = configure_coda_with_http_info(team_id, configure_coda_request, opts)
327
+ data
328
+ end
329
+
330
+ # Configure a Coda connection
331
+ # Creates a mapped Coda connection and tests access. Inspect test.state for provider health.
332
+ # @param team_id [String]
333
+ # @param configure_coda_request [ConfigureCodaRequest]
334
+ # @param [Hash] opts the optional parameters
335
+ # @return [Array<(IntegrationConnectionTestResponse, Integer, Hash)>] IntegrationConnectionTestResponse data, response status code and response headers
336
+ def configure_coda_with_http_info(team_id, configure_coda_request, opts = {})
337
+ if @api_client.config.debugging
338
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_coda ...'
339
+ end
340
+ # verify the required parameter 'team_id' is set
341
+ if @api_client.config.client_side_validation && team_id.nil?
342
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_coda"
343
+ end
344
+ # verify the required parameter 'configure_coda_request' is set
345
+ if @api_client.config.client_side_validation && configure_coda_request.nil?
346
+ fail ArgumentError, "Missing the required parameter 'configure_coda_request' when calling IntegrationsApi.configure_coda"
347
+ end
348
+ # resource path
349
+ local_var_path = '/v1/teams/{teamId}/integrations/coda'.sub('{teamId}', CGI.escape(team_id.to_s))
350
+
351
+ # query parameters
352
+ query_params = opts[:query_params] || {}
353
+
354
+ # header parameters
355
+ header_params = opts[:header_params] || {}
356
+ # HTTP header 'Accept' (if needed)
357
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
358
+ # HTTP header 'Content-Type'
359
+ content_type = @api_client.select_header_content_type(['application/json'])
360
+ if !content_type.nil?
361
+ header_params['Content-Type'] = content_type
362
+ end
363
+
364
+ # form parameters
365
+ form_params = opts[:form_params] || {}
366
+
367
+ # http body (model)
368
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_coda_request)
369
+
370
+ # return_type
371
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionTestResponse'
372
+
373
+ # auth_names
374
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
375
+
376
+ new_options = opts.merge(
377
+ :operation => :"IntegrationsApi.configure_coda",
378
+ :header_params => header_params,
379
+ :query_params => query_params,
380
+ :form_params => form_params,
381
+ :body => post_body,
382
+ :auth_names => auth_names,
383
+ :return_type => return_type
384
+ )
385
+
386
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
387
+ if @api_client.config.debugging
388
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_coda\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
389
+ end
390
+ return data, status_code, headers
391
+ end
392
+
393
+ # Configure CRM field mapping
394
+ # Validates provider-specific mapping, updates the connection and runs a connection test.
395
+ # @param team_id [String]
396
+ # @param connection_id [String]
397
+ # @param configure_crm_mapping_request [ConfigureCrmMappingRequest]
398
+ # @param [Hash] opts the optional parameters
399
+ # @return [IntegrationConnectionTestResponse]
400
+ def configure_crm_mapping(team_id, connection_id, configure_crm_mapping_request, opts = {})
401
+ data, _status_code, _headers = configure_crm_mapping_with_http_info(team_id, connection_id, configure_crm_mapping_request, opts)
402
+ data
403
+ end
404
+
405
+ # Configure CRM field mapping
406
+ # Validates provider-specific mapping, updates the connection and runs a connection test.
407
+ # @param team_id [String]
408
+ # @param connection_id [String]
409
+ # @param configure_crm_mapping_request [ConfigureCrmMappingRequest]
410
+ # @param [Hash] opts the optional parameters
411
+ # @return [Array<(IntegrationConnectionTestResponse, Integer, Hash)>] IntegrationConnectionTestResponse data, response status code and response headers
412
+ def configure_crm_mapping_with_http_info(team_id, connection_id, configure_crm_mapping_request, opts = {})
413
+ if @api_client.config.debugging
414
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_crm_mapping ...'
415
+ end
416
+ # verify the required parameter 'team_id' is set
417
+ if @api_client.config.client_side_validation && team_id.nil?
418
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_crm_mapping"
419
+ end
420
+ # verify the required parameter 'connection_id' is set
421
+ if @api_client.config.client_side_validation && connection_id.nil?
422
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.configure_crm_mapping"
423
+ end
424
+ # verify the required parameter 'configure_crm_mapping_request' is set
425
+ if @api_client.config.client_side_validation && configure_crm_mapping_request.nil?
426
+ fail ArgumentError, "Missing the required parameter 'configure_crm_mapping_request' when calling IntegrationsApi.configure_crm_mapping"
427
+ end
428
+ # resource path
429
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/crm-mapping/configure'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
430
+
431
+ # query parameters
432
+ query_params = opts[:query_params] || {}
433
+
434
+ # header parameters
435
+ header_params = opts[:header_params] || {}
436
+ # HTTP header 'Accept' (if needed)
437
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
438
+ # HTTP header 'Content-Type'
439
+ content_type = @api_client.select_header_content_type(['application/json'])
440
+ if !content_type.nil?
441
+ header_params['Content-Type'] = content_type
442
+ end
443
+
444
+ # form parameters
445
+ form_params = opts[:form_params] || {}
446
+
447
+ # http body (model)
448
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_crm_mapping_request)
449
+
450
+ # return_type
451
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionTestResponse'
452
+
453
+ # auth_names
454
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
455
+
456
+ new_options = opts.merge(
457
+ :operation => :"IntegrationsApi.configure_crm_mapping",
458
+ :header_params => header_params,
459
+ :query_params => query_params,
460
+ :form_params => form_params,
461
+ :body => post_body,
462
+ :auth_names => auth_names,
463
+ :return_type => return_type
464
+ )
465
+
466
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
467
+ if @api_client.config.debugging
468
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_crm_mapping\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
469
+ end
470
+ return data, status_code, headers
471
+ end
472
+
473
+ # Configure CRM synchronization
474
+ # Validates and saves lifecycle sync policies and optional HubSpot owner/deal configuration. Returns normalized configuration.
475
+ # @param team_id [String]
476
+ # @param connection_id [String]
477
+ # @param configure_crm_sync_request [ConfigureCrmSyncRequest]
478
+ # @param [Hash] opts the optional parameters
479
+ # @return [CrmSyncConfigurationResponse]
480
+ def configure_crm_sync(team_id, connection_id, configure_crm_sync_request, opts = {})
481
+ data, _status_code, _headers = configure_crm_sync_with_http_info(team_id, connection_id, configure_crm_sync_request, opts)
482
+ data
483
+ end
484
+
485
+ # Configure CRM synchronization
486
+ # Validates and saves lifecycle sync policies and optional HubSpot owner/deal configuration. Returns normalized configuration.
487
+ # @param team_id [String]
488
+ # @param connection_id [String]
489
+ # @param configure_crm_sync_request [ConfigureCrmSyncRequest]
490
+ # @param [Hash] opts the optional parameters
491
+ # @return [Array<(CrmSyncConfigurationResponse, Integer, Hash)>] CrmSyncConfigurationResponse data, response status code and response headers
492
+ def configure_crm_sync_with_http_info(team_id, connection_id, configure_crm_sync_request, opts = {})
493
+ if @api_client.config.debugging
494
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_crm_sync ...'
495
+ end
496
+ # verify the required parameter 'team_id' is set
497
+ if @api_client.config.client_side_validation && team_id.nil?
498
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_crm_sync"
499
+ end
500
+ # verify the required parameter 'connection_id' is set
501
+ if @api_client.config.client_side_validation && connection_id.nil?
502
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.configure_crm_sync"
503
+ end
504
+ # verify the required parameter 'configure_crm_sync_request' is set
505
+ if @api_client.config.client_side_validation && configure_crm_sync_request.nil?
506
+ fail ArgumentError, "Missing the required parameter 'configure_crm_sync_request' when calling IntegrationsApi.configure_crm_sync"
507
+ end
508
+ # resource path
509
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/crm-sync/configure'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
510
+
511
+ # query parameters
512
+ query_params = opts[:query_params] || {}
513
+
514
+ # header parameters
515
+ header_params = opts[:header_params] || {}
516
+ # HTTP header 'Accept' (if needed)
517
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
518
+ # HTTP header 'Content-Type'
519
+ content_type = @api_client.select_header_content_type(['application/json'])
520
+ if !content_type.nil?
521
+ header_params['Content-Type'] = content_type
522
+ end
523
+
524
+ # form parameters
525
+ form_params = opts[:form_params] || {}
526
+
527
+ # http body (model)
528
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_crm_sync_request)
529
+
530
+ # return_type
531
+ return_type = opts[:debug_return_type] || 'CrmSyncConfigurationResponse'
532
+
533
+ # auth_names
534
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
535
+
536
+ new_options = opts.merge(
537
+ :operation => :"IntegrationsApi.configure_crm_sync",
538
+ :header_params => header_params,
539
+ :query_params => query_params,
540
+ :form_params => form_params,
541
+ :body => post_body,
542
+ :auth_names => auth_names,
543
+ :return_type => return_type
544
+ )
545
+
546
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
547
+ if @api_client.config.debugging
548
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_crm_sync\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
549
+ end
550
+ return data, status_code, headers
551
+ end
552
+
553
+ # Configure a Freshsales connection
554
+ # Creates a connection, securely stores the supplied credential and runs a connection test. Inspect test.state; HTTP success does not imply a healthy provider.
555
+ # @param team_id [String]
556
+ # @param configure_freshsales_request [ConfigureFreshsalesRequest]
557
+ # @param [Hash] opts the optional parameters
558
+ # @return [IntegrationConnectionTestResponse]
559
+ def configure_freshsales(team_id, configure_freshsales_request, opts = {})
560
+ data, _status_code, _headers = configure_freshsales_with_http_info(team_id, configure_freshsales_request, opts)
561
+ data
562
+ end
563
+
564
+ # Configure a Freshsales connection
565
+ # Creates a connection, securely stores the supplied credential and runs a connection test. Inspect test.state; HTTP success does not imply a healthy provider.
566
+ # @param team_id [String]
567
+ # @param configure_freshsales_request [ConfigureFreshsalesRequest]
568
+ # @param [Hash] opts the optional parameters
569
+ # @return [Array<(IntegrationConnectionTestResponse, Integer, Hash)>] IntegrationConnectionTestResponse data, response status code and response headers
570
+ def configure_freshsales_with_http_info(team_id, configure_freshsales_request, opts = {})
571
+ if @api_client.config.debugging
572
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_freshsales ...'
573
+ end
574
+ # verify the required parameter 'team_id' is set
575
+ if @api_client.config.client_side_validation && team_id.nil?
576
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_freshsales"
577
+ end
578
+ # verify the required parameter 'configure_freshsales_request' is set
579
+ if @api_client.config.client_side_validation && configure_freshsales_request.nil?
580
+ fail ArgumentError, "Missing the required parameter 'configure_freshsales_request' when calling IntegrationsApi.configure_freshsales"
581
+ end
582
+ # resource path
583
+ local_var_path = '/v1/teams/{teamId}/integrations/freshsales'.sub('{teamId}', CGI.escape(team_id.to_s))
584
+
585
+ # query parameters
586
+ query_params = opts[:query_params] || {}
587
+
588
+ # header parameters
589
+ header_params = opts[:header_params] || {}
590
+ # HTTP header 'Accept' (if needed)
591
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
592
+ # HTTP header 'Content-Type'
593
+ content_type = @api_client.select_header_content_type(['application/json'])
594
+ if !content_type.nil?
595
+ header_params['Content-Type'] = content_type
596
+ end
597
+
598
+ # form parameters
599
+ form_params = opts[:form_params] || {}
600
+
601
+ # http body (model)
602
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_freshsales_request)
603
+
604
+ # return_type
605
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionTestResponse'
606
+
607
+ # auth_names
608
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
609
+
610
+ new_options = opts.merge(
611
+ :operation => :"IntegrationsApi.configure_freshsales",
612
+ :header_params => header_params,
613
+ :query_params => query_params,
614
+ :form_params => form_params,
615
+ :body => post_body,
616
+ :auth_names => auth_names,
617
+ :return_type => return_type
618
+ )
619
+
620
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
621
+ if @api_client.config.debugging
622
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_freshsales\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
623
+ end
624
+ return data, status_code, headers
625
+ end
626
+
627
+ # Configure notification routes
628
+ # Saves notification event routes for the connection.
629
+ # @param team_id [String]
630
+ # @param connection_id [String]
631
+ # @param configure_notification_routes_request [ConfigureNotificationRoutesRequest]
632
+ # @param [Hash] opts the optional parameters
633
+ # @return [IntegrationConnectionResponse]
634
+ def configure_notification_routes(team_id, connection_id, configure_notification_routes_request, opts = {})
635
+ data, _status_code, _headers = configure_notification_routes_with_http_info(team_id, connection_id, configure_notification_routes_request, opts)
636
+ data
637
+ end
638
+
639
+ # Configure notification routes
640
+ # Saves notification event routes for the connection.
641
+ # @param team_id [String]
642
+ # @param connection_id [String]
643
+ # @param configure_notification_routes_request [ConfigureNotificationRoutesRequest]
644
+ # @param [Hash] opts the optional parameters
645
+ # @return [Array<(IntegrationConnectionResponse, Integer, Hash)>] IntegrationConnectionResponse data, response status code and response headers
646
+ def configure_notification_routes_with_http_info(team_id, connection_id, configure_notification_routes_request, opts = {})
647
+ if @api_client.config.debugging
648
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_notification_routes ...'
649
+ end
650
+ # verify the required parameter 'team_id' is set
651
+ if @api_client.config.client_side_validation && team_id.nil?
652
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_notification_routes"
653
+ end
654
+ # verify the required parameter 'connection_id' is set
655
+ if @api_client.config.client_side_validation && connection_id.nil?
656
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.configure_notification_routes"
657
+ end
658
+ # verify the required parameter 'configure_notification_routes_request' is set
659
+ if @api_client.config.client_side_validation && configure_notification_routes_request.nil?
660
+ fail ArgumentError, "Missing the required parameter 'configure_notification_routes_request' when calling IntegrationsApi.configure_notification_routes"
661
+ end
662
+ # resource path
663
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/notification-routes'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
664
+
665
+ # query parameters
666
+ query_params = opts[:query_params] || {}
667
+
668
+ # header parameters
669
+ header_params = opts[:header_params] || {}
670
+ # HTTP header 'Accept' (if needed)
671
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
672
+ # HTTP header 'Content-Type'
673
+ content_type = @api_client.select_header_content_type(['application/json'])
674
+ if !content_type.nil?
675
+ header_params['Content-Type'] = content_type
676
+ end
677
+
678
+ # form parameters
679
+ form_params = opts[:form_params] || {}
680
+
681
+ # http body (model)
682
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_notification_routes_request)
683
+
684
+ # return_type
685
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionResponse'
686
+
687
+ # auth_names
688
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
689
+
690
+ new_options = opts.merge(
691
+ :operation => :"IntegrationsApi.configure_notification_routes",
692
+ :header_params => header_params,
693
+ :query_params => query_params,
694
+ :form_params => form_params,
695
+ :body => post_body,
696
+ :auth_names => auth_names,
697
+ :return_type => return_type
698
+ )
699
+
700
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
701
+ if @api_client.config.debugging
702
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_notification_routes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
703
+ end
704
+ return data, status_code, headers
705
+ end
706
+
707
+ # Configure a Slack destination
708
+ # Sets the destination channel and notification routes for a Slack connection.
709
+ # @param team_id [String]
710
+ # @param connection_id [String]
711
+ # @param configure_slack_destination_request [ConfigureSlackDestinationRequest]
712
+ # @param [Hash] opts the optional parameters
713
+ # @return [IntegrationConnectionResponse]
714
+ def configure_slack_destination(team_id, connection_id, configure_slack_destination_request, opts = {})
715
+ data, _status_code, _headers = configure_slack_destination_with_http_info(team_id, connection_id, configure_slack_destination_request, opts)
716
+ data
717
+ end
718
+
719
+ # Configure a Slack destination
720
+ # Sets the destination channel and notification routes for a Slack connection.
721
+ # @param team_id [String]
722
+ # @param connection_id [String]
723
+ # @param configure_slack_destination_request [ConfigureSlackDestinationRequest]
724
+ # @param [Hash] opts the optional parameters
725
+ # @return [Array<(IntegrationConnectionResponse, Integer, Hash)>] IntegrationConnectionResponse data, response status code and response headers
726
+ def configure_slack_destination_with_http_info(team_id, connection_id, configure_slack_destination_request, opts = {})
727
+ if @api_client.config.debugging
728
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_slack_destination ...'
729
+ end
730
+ # verify the required parameter 'team_id' is set
731
+ if @api_client.config.client_side_validation && team_id.nil?
732
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_slack_destination"
733
+ end
734
+ # verify the required parameter 'connection_id' is set
735
+ if @api_client.config.client_side_validation && connection_id.nil?
736
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.configure_slack_destination"
737
+ end
738
+ # verify the required parameter 'configure_slack_destination_request' is set
739
+ if @api_client.config.client_side_validation && configure_slack_destination_request.nil?
740
+ fail ArgumentError, "Missing the required parameter 'configure_slack_destination_request' when calling IntegrationsApi.configure_slack_destination"
741
+ end
742
+ # resource path
743
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/slack-destination'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
744
+
745
+ # query parameters
746
+ query_params = opts[:query_params] || {}
747
+
748
+ # header parameters
749
+ header_params = opts[:header_params] || {}
750
+ # HTTP header 'Accept' (if needed)
751
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
752
+ # HTTP header 'Content-Type'
753
+ content_type = @api_client.select_header_content_type(['application/json'])
754
+ if !content_type.nil?
755
+ header_params['Content-Type'] = content_type
756
+ end
757
+
758
+ # form parameters
759
+ form_params = opts[:form_params] || {}
760
+
761
+ # http body (model)
762
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_slack_destination_request)
763
+
764
+ # return_type
765
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionResponse'
766
+
767
+ # auth_names
768
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
769
+
770
+ new_options = opts.merge(
771
+ :operation => :"IntegrationsApi.configure_slack_destination",
772
+ :header_params => header_params,
773
+ :query_params => query_params,
774
+ :form_params => form_params,
775
+ :body => post_body,
776
+ :auth_names => auth_names,
777
+ :return_type => return_type
778
+ )
779
+
780
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
781
+ if @api_client.config.debugging
782
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_slack_destination\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
783
+ end
784
+ return data, status_code, headers
785
+ end
786
+
787
+ # Configure a Microsoft Teams workflow
788
+ # Creates a connection using the supplied Teams webhook URL and notification routes. The credential is stored separately from public connection configuration.
789
+ # @param team_id [String]
790
+ # @param configure_teams_workflow_request [ConfigureTeamsWorkflowRequest]
791
+ # @param [Hash] opts the optional parameters
792
+ # @return [IntegrationConnectionResponse]
793
+ def configure_teams_workflow(team_id, configure_teams_workflow_request, opts = {})
794
+ data, _status_code, _headers = configure_teams_workflow_with_http_info(team_id, configure_teams_workflow_request, opts)
795
+ data
796
+ end
797
+
798
+ # Configure a Microsoft Teams workflow
799
+ # Creates a connection using the supplied Teams webhook URL and notification routes. The credential is stored separately from public connection configuration.
800
+ # @param team_id [String]
801
+ # @param configure_teams_workflow_request [ConfigureTeamsWorkflowRequest]
802
+ # @param [Hash] opts the optional parameters
803
+ # @return [Array<(IntegrationConnectionResponse, Integer, Hash)>] IntegrationConnectionResponse data, response status code and response headers
804
+ def configure_teams_workflow_with_http_info(team_id, configure_teams_workflow_request, opts = {})
805
+ if @api_client.config.debugging
806
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_teams_workflow ...'
807
+ end
808
+ # verify the required parameter 'team_id' is set
809
+ if @api_client.config.client_side_validation && team_id.nil?
810
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_teams_workflow"
811
+ end
812
+ # verify the required parameter 'configure_teams_workflow_request' is set
813
+ if @api_client.config.client_side_validation && configure_teams_workflow_request.nil?
814
+ fail ArgumentError, "Missing the required parameter 'configure_teams_workflow_request' when calling IntegrationsApi.configure_teams_workflow"
815
+ end
816
+ # resource path
817
+ local_var_path = '/v1/teams/{teamId}/integrations/microsoft-teams'.sub('{teamId}', CGI.escape(team_id.to_s))
818
+
819
+ # query parameters
820
+ query_params = opts[:query_params] || {}
821
+
822
+ # header parameters
823
+ header_params = opts[:header_params] || {}
824
+ # HTTP header 'Accept' (if needed)
825
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
826
+ # HTTP header 'Content-Type'
827
+ content_type = @api_client.select_header_content_type(['application/json'])
828
+ if !content_type.nil?
829
+ header_params['Content-Type'] = content_type
830
+ end
831
+
832
+ # form parameters
833
+ form_params = opts[:form_params] || {}
834
+
835
+ # http body (model)
836
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_teams_workflow_request)
837
+
838
+ # return_type
839
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionResponse'
840
+
841
+ # auth_names
842
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
843
+
844
+ new_options = opts.merge(
845
+ :operation => :"IntegrationsApi.configure_teams_workflow",
846
+ :header_params => header_params,
847
+ :query_params => query_params,
848
+ :form_params => form_params,
849
+ :body => post_body,
850
+ :auth_names => auth_names,
851
+ :return_type => return_type
852
+ )
853
+
854
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
855
+ if @api_client.config.debugging
856
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_teams_workflow\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
857
+ end
858
+ return data, status_code, headers
859
+ end
860
+
861
+ # Configure a Typeform form
862
+ # Creates a form connection and configures its provider callback. Requires administrator access.
863
+ # @param team_id [String]
864
+ # @param configure_typeform_form_request [ConfigureTypeformFormRequest]
865
+ # @param [Hash] opts the optional parameters
866
+ # @return [IntegrationFormConnectionResponse]
867
+ def configure_typeform_form(team_id, configure_typeform_form_request, opts = {})
868
+ data, _status_code, _headers = configure_typeform_form_with_http_info(team_id, configure_typeform_form_request, opts)
869
+ data
870
+ end
871
+
872
+ # Configure a Typeform form
873
+ # Creates a form connection and configures its provider callback. Requires administrator access.
874
+ # @param team_id [String]
875
+ # @param configure_typeform_form_request [ConfigureTypeformFormRequest]
876
+ # @param [Hash] opts the optional parameters
877
+ # @return [Array<(IntegrationFormConnectionResponse, Integer, Hash)>] IntegrationFormConnectionResponse data, response status code and response headers
878
+ def configure_typeform_form_with_http_info(team_id, configure_typeform_form_request, opts = {})
879
+ if @api_client.config.debugging
880
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_typeform_form ...'
881
+ end
882
+ # verify the required parameter 'team_id' is set
883
+ if @api_client.config.client_side_validation && team_id.nil?
884
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_typeform_form"
885
+ end
886
+ # verify the required parameter 'configure_typeform_form_request' is set
887
+ if @api_client.config.client_side_validation && configure_typeform_form_request.nil?
888
+ fail ArgumentError, "Missing the required parameter 'configure_typeform_form_request' when calling IntegrationsApi.configure_typeform_form"
889
+ end
890
+ # resource path
891
+ local_var_path = '/v1/teams/{teamId}/integrations/typeform'.sub('{teamId}', CGI.escape(team_id.to_s))
892
+
893
+ # query parameters
894
+ query_params = opts[:query_params] || {}
895
+
896
+ # header parameters
897
+ header_params = opts[:header_params] || {}
898
+ # HTTP header 'Accept' (if needed)
899
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
900
+ # HTTP header 'Content-Type'
901
+ content_type = @api_client.select_header_content_type(['application/json'])
902
+ if !content_type.nil?
903
+ header_params['Content-Type'] = content_type
904
+ end
905
+
906
+ # form parameters
907
+ form_params = opts[:form_params] || {}
908
+
909
+ # http body (model)
910
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_typeform_form_request)
911
+
912
+ # return_type
913
+ return_type = opts[:debug_return_type] || 'IntegrationFormConnectionResponse'
914
+
915
+ # auth_names
916
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
917
+
918
+ new_options = opts.merge(
919
+ :operation => :"IntegrationsApi.configure_typeform_form",
920
+ :header_params => header_params,
921
+ :query_params => query_params,
922
+ :form_params => form_params,
923
+ :body => post_body,
924
+ :auth_names => auth_names,
925
+ :return_type => return_type
926
+ )
927
+
928
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
929
+ if @api_client.config.debugging
930
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_typeform_form\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
931
+ end
932
+ return data, status_code, headers
933
+ end
934
+
935
+ # Configure a warehouse connection
936
+ # Creates a warehouse connection from the provider-specific configuration and credentials. Requires administrator access.
937
+ # @param team_id [String]
938
+ # @param configure_warehouse_request [ConfigureWarehouseRequest]
939
+ # @param [Hash] opts the optional parameters
940
+ # @return [IntegrationConnectionResponse]
941
+ def configure_warehouse(team_id, configure_warehouse_request, opts = {})
942
+ data, _status_code, _headers = configure_warehouse_with_http_info(team_id, configure_warehouse_request, opts)
943
+ data
944
+ end
945
+
946
+ # Configure a warehouse connection
947
+ # Creates a warehouse connection from the provider-specific configuration and credentials. Requires administrator access.
948
+ # @param team_id [String]
949
+ # @param configure_warehouse_request [ConfigureWarehouseRequest]
950
+ # @param [Hash] opts the optional parameters
951
+ # @return [Array<(IntegrationConnectionResponse, Integer, Hash)>] IntegrationConnectionResponse data, response status code and response headers
952
+ def configure_warehouse_with_http_info(team_id, configure_warehouse_request, opts = {})
953
+ if @api_client.config.debugging
954
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_warehouse ...'
955
+ end
956
+ # verify the required parameter 'team_id' is set
957
+ if @api_client.config.client_side_validation && team_id.nil?
958
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_warehouse"
959
+ end
960
+ # verify the required parameter 'configure_warehouse_request' is set
961
+ if @api_client.config.client_side_validation && configure_warehouse_request.nil?
962
+ fail ArgumentError, "Missing the required parameter 'configure_warehouse_request' when calling IntegrationsApi.configure_warehouse"
963
+ end
964
+ # resource path
965
+ local_var_path = '/v1/teams/{teamId}/integrations/warehouses'.sub('{teamId}', CGI.escape(team_id.to_s))
966
+
967
+ # query parameters
968
+ query_params = opts[:query_params] || {}
969
+
970
+ # header parameters
971
+ header_params = opts[:header_params] || {}
972
+ # HTTP header 'Accept' (if needed)
973
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
974
+ # HTTP header 'Content-Type'
975
+ content_type = @api_client.select_header_content_type(['application/json'])
976
+ if !content_type.nil?
977
+ header_params['Content-Type'] = content_type
978
+ end
979
+
980
+ # form parameters
981
+ form_params = opts[:form_params] || {}
982
+
983
+ # http body (model)
984
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_warehouse_request)
985
+
986
+ # return_type
987
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionResponse'
988
+
989
+ # auth_names
990
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
991
+
992
+ new_options = opts.merge(
993
+ :operation => :"IntegrationsApi.configure_warehouse",
994
+ :header_params => header_params,
995
+ :query_params => query_params,
996
+ :form_params => form_params,
997
+ :body => post_body,
998
+ :auth_names => auth_names,
999
+ :return_type => return_type
1000
+ )
1001
+
1002
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1003
+ if @api_client.config.debugging
1004
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_warehouse\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1005
+ end
1006
+ return data, status_code, headers
1007
+ end
1008
+
1009
+ # Configure a Webflow form
1010
+ # Creates a form connection and configures its provider callback. Requires administrator access.
1011
+ # @param team_id [String]
1012
+ # @param configure_webflow_form_request [ConfigureWebflowFormRequest]
1013
+ # @param [Hash] opts the optional parameters
1014
+ # @return [IntegrationFormConnectionResponse]
1015
+ def configure_webflow_form(team_id, configure_webflow_form_request, opts = {})
1016
+ data, _status_code, _headers = configure_webflow_form_with_http_info(team_id, configure_webflow_form_request, opts)
1017
+ data
1018
+ end
1019
+
1020
+ # Configure a Webflow form
1021
+ # Creates a form connection and configures its provider callback. Requires administrator access.
1022
+ # @param team_id [String]
1023
+ # @param configure_webflow_form_request [ConfigureWebflowFormRequest]
1024
+ # @param [Hash] opts the optional parameters
1025
+ # @return [Array<(IntegrationFormConnectionResponse, Integer, Hash)>] IntegrationFormConnectionResponse data, response status code and response headers
1026
+ def configure_webflow_form_with_http_info(team_id, configure_webflow_form_request, opts = {})
1027
+ if @api_client.config.debugging
1028
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.configure_webflow_form ...'
1029
+ end
1030
+ # verify the required parameter 'team_id' is set
1031
+ if @api_client.config.client_side_validation && team_id.nil?
1032
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.configure_webflow_form"
1033
+ end
1034
+ # verify the required parameter 'configure_webflow_form_request' is set
1035
+ if @api_client.config.client_side_validation && configure_webflow_form_request.nil?
1036
+ fail ArgumentError, "Missing the required parameter 'configure_webflow_form_request' when calling IntegrationsApi.configure_webflow_form"
1037
+ end
1038
+ # resource path
1039
+ local_var_path = '/v1/teams/{teamId}/integrations/webflow'.sub('{teamId}', CGI.escape(team_id.to_s))
1040
+
1041
+ # query parameters
1042
+ query_params = opts[:query_params] || {}
1043
+
1044
+ # header parameters
1045
+ header_params = opts[:header_params] || {}
1046
+ # HTTP header 'Accept' (if needed)
1047
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1048
+ # HTTP header 'Content-Type'
1049
+ content_type = @api_client.select_header_content_type(['application/json'])
1050
+ if !content_type.nil?
1051
+ header_params['Content-Type'] = content_type
1052
+ end
1053
+
1054
+ # form parameters
1055
+ form_params = opts[:form_params] || {}
1056
+
1057
+ # http body (model)
1058
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(configure_webflow_form_request)
1059
+
1060
+ # return_type
1061
+ return_type = opts[:debug_return_type] || 'IntegrationFormConnectionResponse'
1062
+
1063
+ # auth_names
1064
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1065
+
1066
+ new_options = opts.merge(
1067
+ :operation => :"IntegrationsApi.configure_webflow_form",
1068
+ :header_params => header_params,
1069
+ :query_params => query_params,
1070
+ :form_params => form_params,
1071
+ :body => post_body,
1072
+ :auth_names => auth_names,
1073
+ :return_type => return_type
1074
+ )
1075
+
1076
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1077
+ if @api_client.config.debugging
1078
+ @api_client.config.logger.debug "API called: IntegrationsApi#configure_webflow_form\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1079
+ end
1080
+ return data, status_code, headers
1081
+ end
1082
+
1083
+ # Disable an MCP identity
1084
+ # Disables an identity belonging to the current user and team. Returns 204 without a response body, or 404 when no matching identity exists.
1085
+ # @param team_id [String]
1086
+ # @param identity_id [String]
1087
+ # @param [Hash] opts the optional parameters
1088
+ # @return [nil]
1089
+ def disable_mcp_identity(team_id, identity_id, opts = {})
1090
+ disable_mcp_identity_with_http_info(team_id, identity_id, opts)
1091
+ nil
1092
+ end
1093
+
1094
+ # Disable an MCP identity
1095
+ # Disables an identity belonging to the current user and team. Returns 204 without a response body, or 404 when no matching identity exists.
1096
+ # @param team_id [String]
1097
+ # @param identity_id [String]
1098
+ # @param [Hash] opts the optional parameters
1099
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1100
+ def disable_mcp_identity_with_http_info(team_id, identity_id, opts = {})
1101
+ if @api_client.config.debugging
1102
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.disable_mcp_identity ...'
1103
+ end
1104
+ # verify the required parameter 'team_id' is set
1105
+ if @api_client.config.client_side_validation && team_id.nil?
1106
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.disable_mcp_identity"
1107
+ end
1108
+ # verify the required parameter 'identity_id' is set
1109
+ if @api_client.config.client_side_validation && identity_id.nil?
1110
+ fail ArgumentError, "Missing the required parameter 'identity_id' when calling IntegrationsApi.disable_mcp_identity"
1111
+ end
1112
+ # resource path
1113
+ local_var_path = '/v1/teams/{teamId}/integrations/mcp-identities/{identityId}'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{identityId}', CGI.escape(identity_id.to_s))
1114
+
1115
+ # query parameters
1116
+ query_params = opts[:query_params] || {}
1117
+
1118
+ # header parameters
1119
+ header_params = opts[:header_params] || {}
1120
+ # HTTP header 'Accept' (if needed)
1121
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1122
+
1123
+ # form parameters
1124
+ form_params = opts[:form_params] || {}
1125
+
1126
+ # http body (model)
1127
+ post_body = opts[:debug_body]
1128
+
1129
+ # return_type
1130
+ return_type = opts[:debug_return_type]
1131
+
1132
+ # auth_names
1133
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1134
+
1135
+ new_options = opts.merge(
1136
+ :operation => :"IntegrationsApi.disable_mcp_identity",
1137
+ :header_params => header_params,
1138
+ :query_params => query_params,
1139
+ :form_params => form_params,
1140
+ :body => post_body,
1141
+ :auth_names => auth_names,
1142
+ :return_type => return_type
1143
+ )
1144
+
1145
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
1146
+ if @api_client.config.debugging
1147
+ @api_client.config.logger.debug "API called: IntegrationsApi#disable_mcp_identity\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1148
+ end
1149
+ return data, status_code, headers
1150
+ end
1151
+
1152
+ # Execute an integration capability
1153
+ # Runs email.find, email.verify or domain.search against existing revealed/cached data without charging credits. mode defaults to live; preview returns output null. email.find input uses firstName, lastName and domain; email.verify uses email; domain.search uses domain and limit (1–100), with optional company. idempotencyKey is required by HTTP validation in both modes. replay describes invocation recording and must not be treated as permission to automatically replay execution. Segment-signed requests must supply all five origin headers and use segment:SHA256(capability + \":\" + eventId) as idempotencyKey.
1154
+ # @param capability [String]
1155
+ # @param execute_integration_capability_request [ExecuteIntegrationCapabilityRequest]
1156
+ # @param [Hash] opts the optional parameters
1157
+ # @option opts [String] :x_lumenreach_integration Optional origin signing profile. If any origin header is present, all five are required.
1158
+ # @option opts [String] :x_lumenreach_install_id Required together with the other Segment origin headers when origin signing is used.
1159
+ # @option opts [String] :x_lumenreach_timestamp Required together with the other Segment origin headers when origin signing is used.
1160
+ # @option opts [String] :x_lumenreach_event_id Required together with the other Segment origin headers when origin signing is used.
1161
+ # @option opts [String] :x_lumenreach_signature Required together with the other Segment origin headers when origin signing is used.
1162
+ # @return [IntegrationCapabilityResponse]
1163
+ def execute_integration_capability(capability, execute_integration_capability_request, opts = {})
1164
+ data, _status_code, _headers = execute_integration_capability_with_http_info(capability, execute_integration_capability_request, opts)
1165
+ data
1166
+ end
1167
+
1168
+ # Execute an integration capability
1169
+ # Runs email.find, email.verify or domain.search against existing revealed/cached data without charging credits. mode defaults to live; preview returns output null. email.find input uses firstName, lastName and domain; email.verify uses email; domain.search uses domain and limit (1–100), with optional company. idempotencyKey is required by HTTP validation in both modes. replay describes invocation recording and must not be treated as permission to automatically replay execution. Segment-signed requests must supply all five origin headers and use segment:SHA256(capability + \&quot;:\&quot; + eventId) as idempotencyKey.
1170
+ # @param capability [String]
1171
+ # @param execute_integration_capability_request [ExecuteIntegrationCapabilityRequest]
1172
+ # @param [Hash] opts the optional parameters
1173
+ # @option opts [String] :x_lumenreach_integration Optional origin signing profile. If any origin header is present, all five are required.
1174
+ # @option opts [String] :x_lumenreach_install_id Required together with the other Segment origin headers when origin signing is used.
1175
+ # @option opts [String] :x_lumenreach_timestamp Required together with the other Segment origin headers when origin signing is used.
1176
+ # @option opts [String] :x_lumenreach_event_id Required together with the other Segment origin headers when origin signing is used.
1177
+ # @option opts [String] :x_lumenreach_signature Required together with the other Segment origin headers when origin signing is used.
1178
+ # @return [Array<(IntegrationCapabilityResponse, Integer, Hash)>] IntegrationCapabilityResponse data, response status code and response headers
1179
+ def execute_integration_capability_with_http_info(capability, execute_integration_capability_request, opts = {})
1180
+ if @api_client.config.debugging
1181
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.execute_integration_capability ...'
1182
+ end
1183
+ # verify the required parameter 'capability' is set
1184
+ if @api_client.config.client_side_validation && capability.nil?
1185
+ fail ArgumentError, "Missing the required parameter 'capability' when calling IntegrationsApi.execute_integration_capability"
1186
+ end
1187
+ # verify enum value
1188
+ allowable_values = ["email.find", "email.verify", "domain.search"]
1189
+ if @api_client.config.client_side_validation && !allowable_values.include?(capability)
1190
+ fail ArgumentError, "invalid value for \"capability\", must be one of #{allowable_values}"
1191
+ end
1192
+ # verify the required parameter 'execute_integration_capability_request' is set
1193
+ if @api_client.config.client_side_validation && execute_integration_capability_request.nil?
1194
+ fail ArgumentError, "Missing the required parameter 'execute_integration_capability_request' when calling IntegrationsApi.execute_integration_capability"
1195
+ end
1196
+ allowable_values = ["segment"]
1197
+ if @api_client.config.client_side_validation && opts[:'x_lumenreach_integration'] && !allowable_values.include?(opts[:'x_lumenreach_integration'])
1198
+ fail ArgumentError, "invalid value for \"x_lumenreach_integration\", must be one of #{allowable_values}"
1199
+ end
1200
+ # resource path
1201
+ local_var_path = '/v1/actions/{capability}'.sub('{capability}', CGI.escape(capability.to_s))
1202
+
1203
+ # query parameters
1204
+ query_params = opts[:query_params] || {}
1205
+
1206
+ # header parameters
1207
+ header_params = opts[:header_params] || {}
1208
+ # HTTP header 'Accept' (if needed)
1209
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1210
+ # HTTP header 'Content-Type'
1211
+ content_type = @api_client.select_header_content_type(['application/json'])
1212
+ if !content_type.nil?
1213
+ header_params['Content-Type'] = content_type
1214
+ end
1215
+ header_params[:'x-lumenreach-integration'] = opts[:'x_lumenreach_integration'] if !opts[:'x_lumenreach_integration'].nil?
1216
+ header_params[:'x-lumenreach-install-id'] = opts[:'x_lumenreach_install_id'] if !opts[:'x_lumenreach_install_id'].nil?
1217
+ header_params[:'x-lumenreach-timestamp'] = opts[:'x_lumenreach_timestamp'] if !opts[:'x_lumenreach_timestamp'].nil?
1218
+ header_params[:'x-lumenreach-event-id'] = opts[:'x_lumenreach_event_id'] if !opts[:'x_lumenreach_event_id'].nil?
1219
+ header_params[:'x-lumenreach-signature'] = opts[:'x_lumenreach_signature'] if !opts[:'x_lumenreach_signature'].nil?
1220
+
1221
+ # form parameters
1222
+ form_params = opts[:form_params] || {}
1223
+
1224
+ # http body (model)
1225
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(execute_integration_capability_request)
1226
+
1227
+ # return_type
1228
+ return_type = opts[:debug_return_type] || 'IntegrationCapabilityResponse'
1229
+
1230
+ # auth_names
1231
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1232
+
1233
+ new_options = opts.merge(
1234
+ :operation => :"IntegrationsApi.execute_integration_capability",
1235
+ :header_params => header_params,
1236
+ :query_params => query_params,
1237
+ :form_params => form_params,
1238
+ :body => post_body,
1239
+ :auth_names => auth_names,
1240
+ :return_type => return_type
1241
+ )
1242
+
1243
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1244
+ if @api_client.config.debugging
1245
+ @api_client.config.logger.debug "API called: IntegrationsApi#execute_integration_capability\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1246
+ end
1247
+ return data, status_code, headers
1248
+ end
1249
+
1250
+ # Get Airtable mapping options
1251
+ # Lists accessible bases and, when baseId is supplied, its tables and fields. Requires administrator access.
1252
+ # @param team_id [String]
1253
+ # @param connection_id [String]
1254
+ # @param [Hash] opts the optional parameters
1255
+ # @option opts [String] :base_id
1256
+ # @return [AirtableMappingOptionsResponse]
1257
+ def get_airtable_mapping_options(team_id, connection_id, opts = {})
1258
+ data, _status_code, _headers = get_airtable_mapping_options_with_http_info(team_id, connection_id, opts)
1259
+ data
1260
+ end
1261
+
1262
+ # Get Airtable mapping options
1263
+ # Lists accessible bases and, when baseId is supplied, its tables and fields. Requires administrator access.
1264
+ # @param team_id [String]
1265
+ # @param connection_id [String]
1266
+ # @param [Hash] opts the optional parameters
1267
+ # @option opts [String] :base_id
1268
+ # @return [Array<(AirtableMappingOptionsResponse, Integer, Hash)>] AirtableMappingOptionsResponse data, response status code and response headers
1269
+ def get_airtable_mapping_options_with_http_info(team_id, connection_id, opts = {})
1270
+ if @api_client.config.debugging
1271
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_airtable_mapping_options ...'
1272
+ end
1273
+ # verify the required parameter 'team_id' is set
1274
+ if @api_client.config.client_side_validation && team_id.nil?
1275
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.get_airtable_mapping_options"
1276
+ end
1277
+ # verify the required parameter 'connection_id' is set
1278
+ if @api_client.config.client_side_validation && connection_id.nil?
1279
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.get_airtable_mapping_options"
1280
+ end
1281
+ if @api_client.config.client_side_validation && !opts[:'base_id'].nil? && opts[:'base_id'].to_s.length > 100
1282
+ fail ArgumentError, 'invalid value for "opts[:"base_id"]" when calling IntegrationsApi.get_airtable_mapping_options, the character length must be smaller than or equal to 100.'
1283
+ end
1284
+
1285
+ if @api_client.config.client_side_validation && !opts[:'base_id'].nil? && opts[:'base_id'].to_s.length < 1
1286
+ fail ArgumentError, 'invalid value for "opts[:"base_id"]" when calling IntegrationsApi.get_airtable_mapping_options, the character length must be greater than or equal to 1.'
1287
+ end
1288
+
1289
+ # resource path
1290
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/airtable-mapping-options'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
1291
+
1292
+ # query parameters
1293
+ query_params = opts[:query_params] || {}
1294
+ query_params[:'baseId'] = opts[:'base_id'] if !opts[:'base_id'].nil?
1295
+
1296
+ # header parameters
1297
+ header_params = opts[:header_params] || {}
1298
+ # HTTP header 'Accept' (if needed)
1299
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1300
+
1301
+ # form parameters
1302
+ form_params = opts[:form_params] || {}
1303
+
1304
+ # http body (model)
1305
+ post_body = opts[:debug_body]
1306
+
1307
+ # return_type
1308
+ return_type = opts[:debug_return_type] || 'AirtableMappingOptionsResponse'
1309
+
1310
+ # auth_names
1311
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1312
+
1313
+ new_options = opts.merge(
1314
+ :operation => :"IntegrationsApi.get_airtable_mapping_options",
1315
+ :header_params => header_params,
1316
+ :query_params => query_params,
1317
+ :form_params => form_params,
1318
+ :body => post_body,
1319
+ :auth_names => auth_names,
1320
+ :return_type => return_type
1321
+ )
1322
+
1323
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1324
+ if @api_client.config.debugging
1325
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_airtable_mapping_options\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1326
+ end
1327
+ return data, status_code, headers
1328
+ end
1329
+
1330
+ # Get CRM mapping options
1331
+ # Returns provider objects and writable fields. resourceId selects a provider resource where required, such as a Notion data source.
1332
+ # @param team_id [String]
1333
+ # @param connection_id [String]
1334
+ # @param [Hash] opts the optional parameters
1335
+ # @option opts [String] :resource_id
1336
+ # @return [CrmMappingOptionsResponse]
1337
+ def get_crm_mapping_options(team_id, connection_id, opts = {})
1338
+ data, _status_code, _headers = get_crm_mapping_options_with_http_info(team_id, connection_id, opts)
1339
+ data
1340
+ end
1341
+
1342
+ # Get CRM mapping options
1343
+ # Returns provider objects and writable fields. resourceId selects a provider resource where required, such as a Notion data source.
1344
+ # @param team_id [String]
1345
+ # @param connection_id [String]
1346
+ # @param [Hash] opts the optional parameters
1347
+ # @option opts [String] :resource_id
1348
+ # @return [Array<(CrmMappingOptionsResponse, Integer, Hash)>] CrmMappingOptionsResponse data, response status code and response headers
1349
+ def get_crm_mapping_options_with_http_info(team_id, connection_id, opts = {})
1350
+ if @api_client.config.debugging
1351
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_crm_mapping_options ...'
1352
+ end
1353
+ # verify the required parameter 'team_id' is set
1354
+ if @api_client.config.client_side_validation && team_id.nil?
1355
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.get_crm_mapping_options"
1356
+ end
1357
+ # verify the required parameter 'connection_id' is set
1358
+ if @api_client.config.client_side_validation && connection_id.nil?
1359
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.get_crm_mapping_options"
1360
+ end
1361
+ if @api_client.config.client_side_validation && !opts[:'resource_id'].nil? && opts[:'resource_id'].to_s.length > 200
1362
+ fail ArgumentError, 'invalid value for "opts[:"resource_id"]" when calling IntegrationsApi.get_crm_mapping_options, the character length must be smaller than or equal to 200.'
1363
+ end
1364
+
1365
+ if @api_client.config.client_side_validation && !opts[:'resource_id'].nil? && opts[:'resource_id'].to_s.length < 1
1366
+ fail ArgumentError, 'invalid value for "opts[:"resource_id"]" when calling IntegrationsApi.get_crm_mapping_options, the character length must be greater than or equal to 1.'
1367
+ end
1368
+
1369
+ # resource path
1370
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/crm-mapping-options'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
1371
+
1372
+ # query parameters
1373
+ query_params = opts[:query_params] || {}
1374
+ query_params[:'resourceId'] = opts[:'resource_id'] if !opts[:'resource_id'].nil?
1375
+
1376
+ # header parameters
1377
+ header_params = opts[:header_params] || {}
1378
+ # HTTP header 'Accept' (if needed)
1379
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1380
+
1381
+ # form parameters
1382
+ form_params = opts[:form_params] || {}
1383
+
1384
+ # http body (model)
1385
+ post_body = opts[:debug_body]
1386
+
1387
+ # return_type
1388
+ return_type = opts[:debug_return_type] || 'CrmMappingOptionsResponse'
1389
+
1390
+ # auth_names
1391
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1392
+
1393
+ new_options = opts.merge(
1394
+ :operation => :"IntegrationsApi.get_crm_mapping_options",
1395
+ :header_params => header_params,
1396
+ :query_params => query_params,
1397
+ :form_params => form_params,
1398
+ :body => post_body,
1399
+ :auth_names => auth_names,
1400
+ :return_type => return_type
1401
+ )
1402
+
1403
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1404
+ if @api_client.config.debugging
1405
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_crm_mapping_options\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1406
+ end
1407
+ return data, status_code, headers
1408
+ end
1409
+
1410
+ # Get HubSpot configuration options
1411
+ # Lists available contact owners and deal pipelines with their stages. Requires a HubSpot connection and administrator access.
1412
+ # @param team_id [String]
1413
+ # @param connection_id [String]
1414
+ # @param [Hash] opts the optional parameters
1415
+ # @return [HubSpotConfigurationOptionsResponse]
1416
+ def get_hub_spot_configuration_options(team_id, connection_id, opts = {})
1417
+ data, _status_code, _headers = get_hub_spot_configuration_options_with_http_info(team_id, connection_id, opts)
1418
+ data
1419
+ end
1420
+
1421
+ # Get HubSpot configuration options
1422
+ # Lists available contact owners and deal pipelines with their stages. Requires a HubSpot connection and administrator access.
1423
+ # @param team_id [String]
1424
+ # @param connection_id [String]
1425
+ # @param [Hash] opts the optional parameters
1426
+ # @return [Array<(HubSpotConfigurationOptionsResponse, Integer, Hash)>] HubSpotConfigurationOptionsResponse data, response status code and response headers
1427
+ def get_hub_spot_configuration_options_with_http_info(team_id, connection_id, opts = {})
1428
+ if @api_client.config.debugging
1429
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_hub_spot_configuration_options ...'
1430
+ end
1431
+ # verify the required parameter 'team_id' is set
1432
+ if @api_client.config.client_side_validation && team_id.nil?
1433
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.get_hub_spot_configuration_options"
1434
+ end
1435
+ # verify the required parameter 'connection_id' is set
1436
+ if @api_client.config.client_side_validation && connection_id.nil?
1437
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.get_hub_spot_configuration_options"
1438
+ end
1439
+ # resource path
1440
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/hubspot-configuration-options'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
1441
+
1442
+ # query parameters
1443
+ query_params = opts[:query_params] || {}
1444
+
1445
+ # header parameters
1446
+ header_params = opts[:header_params] || {}
1447
+ # HTTP header 'Accept' (if needed)
1448
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1449
+
1450
+ # form parameters
1451
+ form_params = opts[:form_params] || {}
1452
+
1453
+ # http body (model)
1454
+ post_body = opts[:debug_body]
1455
+
1456
+ # return_type
1457
+ return_type = opts[:debug_return_type] || 'HubSpotConfigurationOptionsResponse'
1458
+
1459
+ # auth_names
1460
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1461
+
1462
+ new_options = opts.merge(
1463
+ :operation => :"IntegrationsApi.get_hub_spot_configuration_options",
1464
+ :header_params => header_params,
1465
+ :query_params => query_params,
1466
+ :form_params => form_params,
1467
+ :body => post_body,
1468
+ :auth_names => auth_names,
1469
+ :return_type => return_type
1470
+ )
1471
+
1472
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1473
+ if @api_client.config.debugging
1474
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_hub_spot_configuration_options\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1475
+ end
1476
+ return data, status_code, headers
1477
+ end
1478
+
1479
+ # Get an integration job
1480
+ # Returns a job visible to the current user. A missing job is a 400 validation error.
1481
+ # @param team_id [String]
1482
+ # @param job_id [String]
1483
+ # @param [Hash] opts the optional parameters
1484
+ # @return [IntegrationJobResponse]
1485
+ def get_integration_job(team_id, job_id, opts = {})
1486
+ data, _status_code, _headers = get_integration_job_with_http_info(team_id, job_id, opts)
1487
+ data
1488
+ end
1489
+
1490
+ # Get an integration job
1491
+ # Returns a job visible to the current user. A missing job is a 400 validation error.
1492
+ # @param team_id [String]
1493
+ # @param job_id [String]
1494
+ # @param [Hash] opts the optional parameters
1495
+ # @return [Array<(IntegrationJobResponse, Integer, Hash)>] IntegrationJobResponse data, response status code and response headers
1496
+ def get_integration_job_with_http_info(team_id, job_id, opts = {})
1497
+ if @api_client.config.debugging
1498
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integration_job ...'
1499
+ end
1500
+ # verify the required parameter 'team_id' is set
1501
+ if @api_client.config.client_side_validation && team_id.nil?
1502
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.get_integration_job"
1503
+ end
1504
+ # verify the required parameter 'job_id' is set
1505
+ if @api_client.config.client_side_validation && job_id.nil?
1506
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling IntegrationsApi.get_integration_job"
1507
+ end
1508
+ # resource path
1509
+ local_var_path = '/v1/teams/{teamId}/integrations/jobs/{jobId}'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{jobId}', CGI.escape(job_id.to_s))
1510
+
1511
+ # query parameters
1512
+ query_params = opts[:query_params] || {}
1513
+
1514
+ # header parameters
1515
+ header_params = opts[:header_params] || {}
1516
+ # HTTP header 'Accept' (if needed)
1517
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1518
+
1519
+ # form parameters
1520
+ form_params = opts[:form_params] || {}
1521
+
1522
+ # http body (model)
1523
+ post_body = opts[:debug_body]
1524
+
1525
+ # return_type
1526
+ return_type = opts[:debug_return_type] || 'IntegrationJobResponse'
1527
+
1528
+ # auth_names
1529
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1530
+
1531
+ new_options = opts.merge(
1532
+ :operation => :"IntegrationsApi.get_integration_job",
1533
+ :header_params => header_params,
1534
+ :query_params => query_params,
1535
+ :form_params => form_params,
1536
+ :body => post_body,
1537
+ :auth_names => auth_names,
1538
+ :return_type => return_type
1539
+ )
1540
+
1541
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1542
+ if @api_client.config.debugging
1543
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integration_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1544
+ end
1545
+ return data, status_code, headers
1546
+ end
1547
+
1548
+ # Inspect Coda table columns
1549
+ # Requires team administrator access. Uses the supplied API token to discover document and table columns without saving a connection.
1550
+ # @param team_id [String]
1551
+ # @param inspect_coda_table_request [InspectCodaTableRequest]
1552
+ # @param [Hash] opts the optional parameters
1553
+ # @return [CodaTableInspectionResponse]
1554
+ def inspect_coda_table(team_id, inspect_coda_table_request, opts = {})
1555
+ data, _status_code, _headers = inspect_coda_table_with_http_info(team_id, inspect_coda_table_request, opts)
1556
+ data
1557
+ end
1558
+
1559
+ # Inspect Coda table columns
1560
+ # Requires team administrator access. Uses the supplied API token to discover document and table columns without saving a connection.
1561
+ # @param team_id [String]
1562
+ # @param inspect_coda_table_request [InspectCodaTableRequest]
1563
+ # @param [Hash] opts the optional parameters
1564
+ # @return [Array<(CodaTableInspectionResponse, Integer, Hash)>] CodaTableInspectionResponse data, response status code and response headers
1565
+ def inspect_coda_table_with_http_info(team_id, inspect_coda_table_request, opts = {})
1566
+ if @api_client.config.debugging
1567
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.inspect_coda_table ...'
1568
+ end
1569
+ # verify the required parameter 'team_id' is set
1570
+ if @api_client.config.client_side_validation && team_id.nil?
1571
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.inspect_coda_table"
1572
+ end
1573
+ # verify the required parameter 'inspect_coda_table_request' is set
1574
+ if @api_client.config.client_side_validation && inspect_coda_table_request.nil?
1575
+ fail ArgumentError, "Missing the required parameter 'inspect_coda_table_request' when calling IntegrationsApi.inspect_coda_table"
1576
+ end
1577
+ # resource path
1578
+ local_var_path = '/v1/teams/{teamId}/integrations/coda/inspect'.sub('{teamId}', CGI.escape(team_id.to_s))
1579
+
1580
+ # query parameters
1581
+ query_params = opts[:query_params] || {}
1582
+
1583
+ # header parameters
1584
+ header_params = opts[:header_params] || {}
1585
+ # HTTP header 'Accept' (if needed)
1586
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1587
+ # HTTP header 'Content-Type'
1588
+ content_type = @api_client.select_header_content_type(['application/json'])
1589
+ if !content_type.nil?
1590
+ header_params['Content-Type'] = content_type
1591
+ end
1592
+
1593
+ # form parameters
1594
+ form_params = opts[:form_params] || {}
1595
+
1596
+ # http body (model)
1597
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(inspect_coda_table_request)
1598
+
1599
+ # return_type
1600
+ return_type = opts[:debug_return_type] || 'CodaTableInspectionResponse'
1601
+
1602
+ # auth_names
1603
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1604
+
1605
+ new_options = opts.merge(
1606
+ :operation => :"IntegrationsApi.inspect_coda_table",
1607
+ :header_params => header_params,
1608
+ :query_params => query_params,
1609
+ :form_params => form_params,
1610
+ :body => post_body,
1611
+ :auth_names => auth_names,
1612
+ :return_type => return_type
1613
+ )
1614
+
1615
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1616
+ if @api_client.config.debugging
1617
+ @api_client.config.logger.debug "API called: IntegrationsApi#inspect_coda_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1618
+ end
1619
+ return data, status_code, headers
1620
+ end
1621
+
1622
+ # Inspect an Excel workbook
1623
+ # Requires a ready connection owned by the current user and exactly one of driveItemId or shareUrl. Falls back to the first visible worksheet when the requested worksheet is unavailable.
1624
+ # @param team_id [String]
1625
+ # @param inspect_excel_workbook_request [InspectExcelWorkbookRequest]
1626
+ # @param [Hash] opts the optional parameters
1627
+ # @return [ExcelWorkbookInspectionResponse]
1628
+ def inspect_excel_workbook(team_id, inspect_excel_workbook_request, opts = {})
1629
+ data, _status_code, _headers = inspect_excel_workbook_with_http_info(team_id, inspect_excel_workbook_request, opts)
1630
+ data
1631
+ end
1632
+
1633
+ # Inspect an Excel workbook
1634
+ # Requires a ready connection owned by the current user and exactly one of driveItemId or shareUrl. Falls back to the first visible worksheet when the requested worksheet is unavailable.
1635
+ # @param team_id [String]
1636
+ # @param inspect_excel_workbook_request [InspectExcelWorkbookRequest]
1637
+ # @param [Hash] opts the optional parameters
1638
+ # @return [Array<(ExcelWorkbookInspectionResponse, Integer, Hash)>] ExcelWorkbookInspectionResponse data, response status code and response headers
1639
+ def inspect_excel_workbook_with_http_info(team_id, inspect_excel_workbook_request, opts = {})
1640
+ if @api_client.config.debugging
1641
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.inspect_excel_workbook ...'
1642
+ end
1643
+ # verify the required parameter 'team_id' is set
1644
+ if @api_client.config.client_side_validation && team_id.nil?
1645
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.inspect_excel_workbook"
1646
+ end
1647
+ # verify the required parameter 'inspect_excel_workbook_request' is set
1648
+ if @api_client.config.client_side_validation && inspect_excel_workbook_request.nil?
1649
+ fail ArgumentError, "Missing the required parameter 'inspect_excel_workbook_request' when calling IntegrationsApi.inspect_excel_workbook"
1650
+ end
1651
+ # resource path
1652
+ local_var_path = '/v1/teams/{teamId}/integrations/microsoft-excel/inspect'.sub('{teamId}', CGI.escape(team_id.to_s))
1653
+
1654
+ # query parameters
1655
+ query_params = opts[:query_params] || {}
1656
+
1657
+ # header parameters
1658
+ header_params = opts[:header_params] || {}
1659
+ # HTTP header 'Accept' (if needed)
1660
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1661
+ # HTTP header 'Content-Type'
1662
+ content_type = @api_client.select_header_content_type(['application/json'])
1663
+ if !content_type.nil?
1664
+ header_params['Content-Type'] = content_type
1665
+ end
1666
+
1667
+ # form parameters
1668
+ form_params = opts[:form_params] || {}
1669
+
1670
+ # http body (model)
1671
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(inspect_excel_workbook_request)
1672
+
1673
+ # return_type
1674
+ return_type = opts[:debug_return_type] || 'ExcelWorkbookInspectionResponse'
1675
+
1676
+ # auth_names
1677
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1678
+
1679
+ new_options = opts.merge(
1680
+ :operation => :"IntegrationsApi.inspect_excel_workbook",
1681
+ :header_params => header_params,
1682
+ :query_params => query_params,
1683
+ :form_params => form_params,
1684
+ :body => post_body,
1685
+ :auth_names => auth_names,
1686
+ :return_type => return_type
1687
+ )
1688
+
1689
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1690
+ if @api_client.config.debugging
1691
+ @api_client.config.logger.debug "API called: IntegrationsApi#inspect_excel_workbook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1692
+ end
1693
+ return data, status_code, headers
1694
+ end
1695
+
1696
+ # Inspect a Google spreadsheet
1697
+ # Reads sheet names and header columns using a ready connection. headerRow defaults to 1.
1698
+ # @param team_id [String]
1699
+ # @param inspect_google_sheet_request [InspectGoogleSheetRequest]
1700
+ # @param [Hash] opts the optional parameters
1701
+ # @return [GoogleSheetInspectionResponse]
1702
+ def inspect_google_sheet(team_id, inspect_google_sheet_request, opts = {})
1703
+ data, _status_code, _headers = inspect_google_sheet_with_http_info(team_id, inspect_google_sheet_request, opts)
1704
+ data
1705
+ end
1706
+
1707
+ # Inspect a Google spreadsheet
1708
+ # Reads sheet names and header columns using a ready connection. headerRow defaults to 1.
1709
+ # @param team_id [String]
1710
+ # @param inspect_google_sheet_request [InspectGoogleSheetRequest]
1711
+ # @param [Hash] opts the optional parameters
1712
+ # @return [Array<(GoogleSheetInspectionResponse, Integer, Hash)>] GoogleSheetInspectionResponse data, response status code and response headers
1713
+ def inspect_google_sheet_with_http_info(team_id, inspect_google_sheet_request, opts = {})
1714
+ if @api_client.config.debugging
1715
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.inspect_google_sheet ...'
1716
+ end
1717
+ # verify the required parameter 'team_id' is set
1718
+ if @api_client.config.client_side_validation && team_id.nil?
1719
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.inspect_google_sheet"
1720
+ end
1721
+ # verify the required parameter 'inspect_google_sheet_request' is set
1722
+ if @api_client.config.client_side_validation && inspect_google_sheet_request.nil?
1723
+ fail ArgumentError, "Missing the required parameter 'inspect_google_sheet_request' when calling IntegrationsApi.inspect_google_sheet"
1724
+ end
1725
+ # resource path
1726
+ local_var_path = '/v1/teams/{teamId}/integrations/google-sheets/inspect'.sub('{teamId}', CGI.escape(team_id.to_s))
1727
+
1728
+ # query parameters
1729
+ query_params = opts[:query_params] || {}
1730
+
1731
+ # header parameters
1732
+ header_params = opts[:header_params] || {}
1733
+ # HTTP header 'Accept' (if needed)
1734
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1735
+ # HTTP header 'Content-Type'
1736
+ content_type = @api_client.select_header_content_type(['application/json'])
1737
+ if !content_type.nil?
1738
+ header_params['Content-Type'] = content_type
1739
+ end
1740
+
1741
+ # form parameters
1742
+ form_params = opts[:form_params] || {}
1743
+
1744
+ # http body (model)
1745
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(inspect_google_sheet_request)
1746
+
1747
+ # return_type
1748
+ return_type = opts[:debug_return_type] || 'GoogleSheetInspectionResponse'
1749
+
1750
+ # auth_names
1751
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1752
+
1753
+ new_options = opts.merge(
1754
+ :operation => :"IntegrationsApi.inspect_google_sheet",
1755
+ :header_params => header_params,
1756
+ :query_params => query_params,
1757
+ :form_params => form_params,
1758
+ :body => post_body,
1759
+ :auth_names => auth_names,
1760
+ :return_type => return_type
1761
+ )
1762
+
1763
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1764
+ if @api_client.config.debugging
1765
+ @api_client.config.logger.debug "API called: IntegrationsApi#inspect_google_sheet\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1766
+ end
1767
+ return data, status_code, headers
1768
+ end
1769
+
1770
+ # Link an MCP identity
1771
+ # Requires X-API-Key and a separate verified OIDC token in Authorization: Bearer. Requested scopes must be a subset of the verified token scopes. Omission uses the token scopes. Returns 503 when MCP OIDC is not configured.
1772
+ # @param team_id [String]
1773
+ # @param [Hash] opts the optional parameters
1774
+ # @option opts [LinkMcpIdentityRequest] :link_mcp_identity_request
1775
+ # @return [McpIdentityResponse]
1776
+ def link_mcp_identity(team_id, opts = {})
1777
+ data, _status_code, _headers = link_mcp_identity_with_http_info(team_id, opts)
1778
+ data
1779
+ end
1780
+
1781
+ # Link an MCP identity
1782
+ # Requires X-API-Key and a separate verified OIDC token in Authorization: Bearer. Requested scopes must be a subset of the verified token scopes. Omission uses the token scopes. Returns 503 when MCP OIDC is not configured.
1783
+ # @param team_id [String]
1784
+ # @param [Hash] opts the optional parameters
1785
+ # @option opts [LinkMcpIdentityRequest] :link_mcp_identity_request
1786
+ # @return [Array<(McpIdentityResponse, Integer, Hash)>] McpIdentityResponse data, response status code and response headers
1787
+ def link_mcp_identity_with_http_info(team_id, opts = {})
1788
+ if @api_client.config.debugging
1789
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.link_mcp_identity ...'
1790
+ end
1791
+ # verify the required parameter 'team_id' is set
1792
+ if @api_client.config.client_side_validation && team_id.nil?
1793
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.link_mcp_identity"
1794
+ end
1795
+ # resource path
1796
+ local_var_path = '/v1/teams/{teamId}/integrations/mcp-identities'.sub('{teamId}', CGI.escape(team_id.to_s))
1797
+
1798
+ # query parameters
1799
+ query_params = opts[:query_params] || {}
1800
+
1801
+ # header parameters
1802
+ header_params = opts[:header_params] || {}
1803
+ # HTTP header 'Accept' (if needed)
1804
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1805
+ # HTTP header 'Content-Type'
1806
+ content_type = @api_client.select_header_content_type(['application/json'])
1807
+ if !content_type.nil?
1808
+ header_params['Content-Type'] = content_type
1809
+ end
1810
+
1811
+ # form parameters
1812
+ form_params = opts[:form_params] || {}
1813
+
1814
+ # http body (model)
1815
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'link_mcp_identity_request'])
1816
+
1817
+ # return_type
1818
+ return_type = opts[:debug_return_type] || 'McpIdentityResponse'
1819
+
1820
+ # auth_names
1821
+ auth_names = opts[:debug_auth_names] || ['ApiKey', 'McpIdentityToken']
1822
+
1823
+ new_options = opts.merge(
1824
+ :operation => :"IntegrationsApi.link_mcp_identity",
1825
+ :header_params => header_params,
1826
+ :query_params => query_params,
1827
+ :form_params => form_params,
1828
+ :body => post_body,
1829
+ :auth_names => auth_names,
1830
+ :return_type => return_type
1831
+ )
1832
+
1833
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1834
+ if @api_client.config.debugging
1835
+ @api_client.config.logger.debug "API called: IntegrationsApi#link_mcp_identity\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1836
+ end
1837
+ return data, status_code, headers
1838
+ end
1839
+
1840
+ # List integration connections
1841
+ # Lists visible, non-deleted connections for the authenticated team. Credential values are not included.
1842
+ # @param team_id [String]
1843
+ # @param [Hash] opts the optional parameters
1844
+ # @return [IntegrationConnectionList]
1845
+ def list_integration_connections(team_id, opts = {})
1846
+ data, _status_code, _headers = list_integration_connections_with_http_info(team_id, opts)
1847
+ data
1848
+ end
1849
+
1850
+ # List integration connections
1851
+ # Lists visible, non-deleted connections for the authenticated team. Credential values are not included.
1852
+ # @param team_id [String]
1853
+ # @param [Hash] opts the optional parameters
1854
+ # @return [Array<(IntegrationConnectionList, Integer, Hash)>] IntegrationConnectionList data, response status code and response headers
1855
+ def list_integration_connections_with_http_info(team_id, opts = {})
1856
+ if @api_client.config.debugging
1857
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.list_integration_connections ...'
1858
+ end
1859
+ # verify the required parameter 'team_id' is set
1860
+ if @api_client.config.client_side_validation && team_id.nil?
1861
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.list_integration_connections"
1862
+ end
1863
+ # resource path
1864
+ local_var_path = '/v1/teams/{teamId}/integrations/connections'.sub('{teamId}', CGI.escape(team_id.to_s))
1865
+
1866
+ # query parameters
1867
+ query_params = opts[:query_params] || {}
1868
+
1869
+ # header parameters
1870
+ header_params = opts[:header_params] || {}
1871
+ # HTTP header 'Accept' (if needed)
1872
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1873
+
1874
+ # form parameters
1875
+ form_params = opts[:form_params] || {}
1876
+
1877
+ # http body (model)
1878
+ post_body = opts[:debug_body]
1879
+
1880
+ # return_type
1881
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionList'
1882
+
1883
+ # auth_names
1884
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1885
+
1886
+ new_options = opts.merge(
1887
+ :operation => :"IntegrationsApi.list_integration_connections",
1888
+ :header_params => header_params,
1889
+ :query_params => query_params,
1890
+ :form_params => form_params,
1891
+ :body => post_body,
1892
+ :auth_names => auth_names,
1893
+ :return_type => return_type
1894
+ )
1895
+
1896
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1897
+ if @api_client.config.debugging
1898
+ @api_client.config.logger.debug "API called: IntegrationsApi#list_integration_connections\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1899
+ end
1900
+ return data, status_code, headers
1901
+ end
1902
+
1903
+ # List integration jobs
1904
+ # Lists visible jobs, optionally filtered by connection or status. The default limit is 25 and the maximum is 100. Continue until nextCursor is null.
1905
+ # @param team_id [String]
1906
+ # @param [Hash] opts the optional parameters
1907
+ # @option opts [String] :connection_id
1908
+ # @option opts [String] :status
1909
+ # @option opts [String] :cursor
1910
+ # @option opts [Integer] :limit (default to 25)
1911
+ # @return [IntegrationJobPage]
1912
+ def list_integration_jobs(team_id, opts = {})
1913
+ data, _status_code, _headers = list_integration_jobs_with_http_info(team_id, opts)
1914
+ data
1915
+ end
1916
+
1917
+ # List integration jobs
1918
+ # Lists visible jobs, optionally filtered by connection or status. The default limit is 25 and the maximum is 100. Continue until nextCursor is null.
1919
+ # @param team_id [String]
1920
+ # @param [Hash] opts the optional parameters
1921
+ # @option opts [String] :connection_id
1922
+ # @option opts [String] :status
1923
+ # @option opts [String] :cursor
1924
+ # @option opts [Integer] :limit (default to 25)
1925
+ # @return [Array<(IntegrationJobPage, Integer, Hash)>] IntegrationJobPage data, response status code and response headers
1926
+ def list_integration_jobs_with_http_info(team_id, opts = {})
1927
+ if @api_client.config.debugging
1928
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.list_integration_jobs ...'
1929
+ end
1930
+ # verify the required parameter 'team_id' is set
1931
+ if @api_client.config.client_side_validation && team_id.nil?
1932
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.list_integration_jobs"
1933
+ end
1934
+ allowable_values = ["pending", "running", "succeeded", "failed", "cancelled"]
1935
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
1936
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
1937
+ end
1938
+ if @api_client.config.client_side_validation && !opts[:'cursor'].nil? && opts[:'cursor'].to_s.length > 512
1939
+ fail ArgumentError, 'invalid value for "opts[:"cursor"]" when calling IntegrationsApi.list_integration_jobs, the character length must be smaller than or equal to 512.'
1940
+ end
1941
+
1942
+ if @api_client.config.client_side_validation && !opts[:'cursor'].nil? && opts[:'cursor'].to_s.length < 1
1943
+ fail ArgumentError, 'invalid value for "opts[:"cursor"]" when calling IntegrationsApi.list_integration_jobs, the character length must be greater than or equal to 1.'
1944
+ end
1945
+
1946
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
1947
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling IntegrationsApi.list_integration_jobs, must be smaller than or equal to 100.'
1948
+ end
1949
+
1950
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
1951
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling IntegrationsApi.list_integration_jobs, must be greater than or equal to 1.'
1952
+ end
1953
+
1954
+ # resource path
1955
+ local_var_path = '/v1/teams/{teamId}/integrations/jobs'.sub('{teamId}', CGI.escape(team_id.to_s))
1956
+
1957
+ # query parameters
1958
+ query_params = opts[:query_params] || {}
1959
+ query_params[:'connectionId'] = opts[:'connection_id'] if !opts[:'connection_id'].nil?
1960
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
1961
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
1962
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1963
+
1964
+ # header parameters
1965
+ header_params = opts[:header_params] || {}
1966
+ # HTTP header 'Accept' (if needed)
1967
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1968
+
1969
+ # form parameters
1970
+ form_params = opts[:form_params] || {}
1971
+
1972
+ # http body (model)
1973
+ post_body = opts[:debug_body]
1974
+
1975
+ # return_type
1976
+ return_type = opts[:debug_return_type] || 'IntegrationJobPage'
1977
+
1978
+ # auth_names
1979
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1980
+
1981
+ new_options = opts.merge(
1982
+ :operation => :"IntegrationsApi.list_integration_jobs",
1983
+ :header_params => header_params,
1984
+ :query_params => query_params,
1985
+ :form_params => form_params,
1986
+ :body => post_body,
1987
+ :auth_names => auth_names,
1988
+ :return_type => return_type
1989
+ )
1990
+
1991
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1992
+ if @api_client.config.debugging
1993
+ @api_client.config.logger.debug "API called: IntegrationsApi#list_integration_jobs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1994
+ end
1995
+ return data, status_code, headers
1996
+ end
1997
+
1998
+ # List integration providers
1999
+ # Lists provider metadata, readiness and supported capabilities. Provider identifiers and response status fields remain extensible.
2000
+ # @param [Hash] opts the optional parameters
2001
+ # @return [IntegrationProviderList]
2002
+ def list_integration_providers(opts = {})
2003
+ data, _status_code, _headers = list_integration_providers_with_http_info(opts)
2004
+ data
2005
+ end
2006
+
2007
+ # List integration providers
2008
+ # Lists provider metadata, readiness and supported capabilities. Provider identifiers and response status fields remain extensible.
2009
+ # @param [Hash] opts the optional parameters
2010
+ # @return [Array<(IntegrationProviderList, Integer, Hash)>] IntegrationProviderList data, response status code and response headers
2011
+ def list_integration_providers_with_http_info(opts = {})
2012
+ if @api_client.config.debugging
2013
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.list_integration_providers ...'
2014
+ end
2015
+ # resource path
2016
+ local_var_path = '/v1/integrations/providers'
2017
+
2018
+ # query parameters
2019
+ query_params = opts[:query_params] || {}
2020
+
2021
+ # header parameters
2022
+ header_params = opts[:header_params] || {}
2023
+ # HTTP header 'Accept' (if needed)
2024
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2025
+
2026
+ # form parameters
2027
+ form_params = opts[:form_params] || {}
2028
+
2029
+ # http body (model)
2030
+ post_body = opts[:debug_body]
2031
+
2032
+ # return_type
2033
+ return_type = opts[:debug_return_type] || 'IntegrationProviderList'
2034
+
2035
+ # auth_names
2036
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2037
+
2038
+ new_options = opts.merge(
2039
+ :operation => :"IntegrationsApi.list_integration_providers",
2040
+ :header_params => header_params,
2041
+ :query_params => query_params,
2042
+ :form_params => form_params,
2043
+ :body => post_body,
2044
+ :auth_names => auth_names,
2045
+ :return_type => return_type
2046
+ )
2047
+
2048
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2049
+ if @api_client.config.debugging
2050
+ @api_client.config.logger.debug "API called: IntegrationsApi#list_integration_providers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2051
+ end
2052
+ return data, status_code, headers
2053
+ end
2054
+
2055
+ # List linked MCP identities
2056
+ # Returns up to 100 identities belonging to this user and team.
2057
+ # @param team_id [String]
2058
+ # @param [Hash] opts the optional parameters
2059
+ # @return [McpIdentityList]
2060
+ def list_mcp_identities(team_id, opts = {})
2061
+ data, _status_code, _headers = list_mcp_identities_with_http_info(team_id, opts)
2062
+ data
2063
+ end
2064
+
2065
+ # List linked MCP identities
2066
+ # Returns up to 100 identities belonging to this user and team.
2067
+ # @param team_id [String]
2068
+ # @param [Hash] opts the optional parameters
2069
+ # @return [Array<(McpIdentityList, Integer, Hash)>] McpIdentityList data, response status code and response headers
2070
+ def list_mcp_identities_with_http_info(team_id, opts = {})
2071
+ if @api_client.config.debugging
2072
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.list_mcp_identities ...'
2073
+ end
2074
+ # verify the required parameter 'team_id' is set
2075
+ if @api_client.config.client_side_validation && team_id.nil?
2076
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.list_mcp_identities"
2077
+ end
2078
+ # resource path
2079
+ local_var_path = '/v1/teams/{teamId}/integrations/mcp-identities'.sub('{teamId}', CGI.escape(team_id.to_s))
2080
+
2081
+ # query parameters
2082
+ query_params = opts[:query_params] || {}
2083
+
2084
+ # header parameters
2085
+ header_params = opts[:header_params] || {}
2086
+ # HTTP header 'Accept' (if needed)
2087
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2088
+
2089
+ # form parameters
2090
+ form_params = opts[:form_params] || {}
2091
+
2092
+ # http body (model)
2093
+ post_body = opts[:debug_body]
2094
+
2095
+ # return_type
2096
+ return_type = opts[:debug_return_type] || 'McpIdentityList'
2097
+
2098
+ # auth_names
2099
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2100
+
2101
+ new_options = opts.merge(
2102
+ :operation => :"IntegrationsApi.list_mcp_identities",
2103
+ :header_params => header_params,
2104
+ :query_params => query_params,
2105
+ :form_params => form_params,
2106
+ :body => post_body,
2107
+ :auth_names => auth_names,
2108
+ :return_type => return_type
2109
+ )
2110
+
2111
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2112
+ if @api_client.config.debugging
2113
+ @api_client.config.logger.debug "API called: IntegrationsApi#list_mcp_identities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2114
+ end
2115
+ return data, status_code, headers
2116
+ end
2117
+
2118
+ # List spreadsheet workflows
2119
+ # Returns up to 100 workflows visible to this user. Provider ownership and team administrator rules apply.
2120
+ # @param team_id [String]
2121
+ # @param [Hash] opts the optional parameters
2122
+ # @return [SheetWorkflowList]
2123
+ def list_sheet_workflows(team_id, opts = {})
2124
+ data, _status_code, _headers = list_sheet_workflows_with_http_info(team_id, opts)
2125
+ data
2126
+ end
2127
+
2128
+ # List spreadsheet workflows
2129
+ # Returns up to 100 workflows visible to this user. Provider ownership and team administrator rules apply.
2130
+ # @param team_id [String]
2131
+ # @param [Hash] opts the optional parameters
2132
+ # @return [Array<(SheetWorkflowList, Integer, Hash)>] SheetWorkflowList data, response status code and response headers
2133
+ def list_sheet_workflows_with_http_info(team_id, opts = {})
2134
+ if @api_client.config.debugging
2135
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.list_sheet_workflows ...'
2136
+ end
2137
+ # verify the required parameter 'team_id' is set
2138
+ if @api_client.config.client_side_validation && team_id.nil?
2139
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.list_sheet_workflows"
2140
+ end
2141
+ # resource path
2142
+ local_var_path = '/v1/teams/{teamId}/integrations/spreadsheet-workflows'.sub('{teamId}', CGI.escape(team_id.to_s))
2143
+
2144
+ # query parameters
2145
+ query_params = opts[:query_params] || {}
2146
+
2147
+ # header parameters
2148
+ header_params = opts[:header_params] || {}
2149
+ # HTTP header 'Accept' (if needed)
2150
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2151
+
2152
+ # form parameters
2153
+ form_params = opts[:form_params] || {}
2154
+
2155
+ # http body (model)
2156
+ post_body = opts[:debug_body]
2157
+
2158
+ # return_type
2159
+ return_type = opts[:debug_return_type] || 'SheetWorkflowList'
2160
+
2161
+ # auth_names
2162
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2163
+
2164
+ new_options = opts.merge(
2165
+ :operation => :"IntegrationsApi.list_sheet_workflows",
2166
+ :header_params => header_params,
2167
+ :query_params => query_params,
2168
+ :form_params => form_params,
2169
+ :body => post_body,
2170
+ :auth_names => auth_names,
2171
+ :return_type => return_type
2172
+ )
2173
+
2174
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2175
+ if @api_client.config.debugging
2176
+ @api_client.config.logger.debug "API called: IntegrationsApi#list_sheet_workflows\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2177
+ end
2178
+ return data, status_code, headers
2179
+ end
2180
+
2181
+ # Preview spreadsheet workflow inputs
2182
+ # Reads rows and validates the layout without executing the capability. Also updates workflow validation state. rowLimit defaults to 20 and is bounded to 1–50.
2183
+ # @param team_id [String]
2184
+ # @param workflow_id [String]
2185
+ # @param [Hash] opts the optional parameters
2186
+ # @option opts [PreviewSheetWorkflowRequest] :preview_sheet_workflow_request
2187
+ # @return [SheetWorkflowPreview]
2188
+ def preview_sheet_workflow(team_id, workflow_id, opts = {})
2189
+ data, _status_code, _headers = preview_sheet_workflow_with_http_info(team_id, workflow_id, opts)
2190
+ data
2191
+ end
2192
+
2193
+ # Preview spreadsheet workflow inputs
2194
+ # Reads rows and validates the layout without executing the capability. Also updates workflow validation state. rowLimit defaults to 20 and is bounded to 1–50.
2195
+ # @param team_id [String]
2196
+ # @param workflow_id [String]
2197
+ # @param [Hash] opts the optional parameters
2198
+ # @option opts [PreviewSheetWorkflowRequest] :preview_sheet_workflow_request
2199
+ # @return [Array<(SheetWorkflowPreview, Integer, Hash)>] SheetWorkflowPreview data, response status code and response headers
2200
+ def preview_sheet_workflow_with_http_info(team_id, workflow_id, opts = {})
2201
+ if @api_client.config.debugging
2202
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.preview_sheet_workflow ...'
2203
+ end
2204
+ # verify the required parameter 'team_id' is set
2205
+ if @api_client.config.client_side_validation && team_id.nil?
2206
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.preview_sheet_workflow"
2207
+ end
2208
+ # verify the required parameter 'workflow_id' is set
2209
+ if @api_client.config.client_side_validation && workflow_id.nil?
2210
+ fail ArgumentError, "Missing the required parameter 'workflow_id' when calling IntegrationsApi.preview_sheet_workflow"
2211
+ end
2212
+ if @api_client.config.client_side_validation && workflow_id.to_s.length > 36
2213
+ fail ArgumentError, 'invalid value for "workflow_id" when calling IntegrationsApi.preview_sheet_workflow, the character length must be smaller than or equal to 36.'
2214
+ end
2215
+
2216
+ if @api_client.config.client_side_validation && workflow_id.to_s.length < 36
2217
+ fail ArgumentError, 'invalid value for "workflow_id" when calling IntegrationsApi.preview_sheet_workflow, the character length must be greater than or equal to 36.'
2218
+ end
2219
+
2220
+ # resource path
2221
+ local_var_path = '/v1/teams/{teamId}/integrations/spreadsheet-workflows/{workflowId}/preview'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{workflowId}', CGI.escape(workflow_id.to_s))
2222
+
2223
+ # query parameters
2224
+ query_params = opts[:query_params] || {}
2225
+
2226
+ # header parameters
2227
+ header_params = opts[:header_params] || {}
2228
+ # HTTP header 'Accept' (if needed)
2229
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2230
+ # HTTP header 'Content-Type'
2231
+ content_type = @api_client.select_header_content_type(['application/json'])
2232
+ if !content_type.nil?
2233
+ header_params['Content-Type'] = content_type
2234
+ end
2235
+
2236
+ # form parameters
2237
+ form_params = opts[:form_params] || {}
2238
+
2239
+ # http body (model)
2240
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'preview_sheet_workflow_request'])
2241
+
2242
+ # return_type
2243
+ return_type = opts[:debug_return_type] || 'SheetWorkflowPreview'
2244
+
2245
+ # auth_names
2246
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2247
+
2248
+ new_options = opts.merge(
2249
+ :operation => :"IntegrationsApi.preview_sheet_workflow",
2250
+ :header_params => header_params,
2251
+ :query_params => query_params,
2252
+ :form_params => form_params,
2253
+ :body => post_body,
2254
+ :auth_names => auth_names,
2255
+ :return_type => return_type
2256
+ )
2257
+
2258
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2259
+ if @api_client.config.debugging
2260
+ @api_client.config.logger.debug "API called: IntegrationsApi#preview_sheet_workflow\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2261
+ end
2262
+ return data, status_code, headers
2263
+ end
2264
+
2265
+ # Queue lead export to an integration
2266
+ # Queues selected leads for provider export and returns their count. Supply a stable requestId for request identification. A 202 response acknowledges queuing; poll getIntegrationJob for completion.
2267
+ # @param team_id [String]
2268
+ # @param connection_id [String]
2269
+ # @param [Hash] opts the optional parameters
2270
+ # @option opts [QueueIntegrationLeadExportRequest] :queue_integration_lead_export_request
2271
+ # @return [IntegrationLeadExportResponse]
2272
+ def queue_integration_lead_export(team_id, connection_id, opts = {})
2273
+ data, _status_code, _headers = queue_integration_lead_export_with_http_info(team_id, connection_id, opts)
2274
+ data
2275
+ end
2276
+
2277
+ # Queue lead export to an integration
2278
+ # Queues selected leads for provider export and returns their count. Supply a stable requestId for request identification. A 202 response acknowledges queuing; poll getIntegrationJob for completion.
2279
+ # @param team_id [String]
2280
+ # @param connection_id [String]
2281
+ # @param [Hash] opts the optional parameters
2282
+ # @option opts [QueueIntegrationLeadExportRequest] :queue_integration_lead_export_request
2283
+ # @return [Array<(IntegrationLeadExportResponse, Integer, Hash)>] IntegrationLeadExportResponse data, response status code and response headers
2284
+ def queue_integration_lead_export_with_http_info(team_id, connection_id, opts = {})
2285
+ if @api_client.config.debugging
2286
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.queue_integration_lead_export ...'
2287
+ end
2288
+ # verify the required parameter 'team_id' is set
2289
+ if @api_client.config.client_side_validation && team_id.nil?
2290
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.queue_integration_lead_export"
2291
+ end
2292
+ # verify the required parameter 'connection_id' is set
2293
+ if @api_client.config.client_side_validation && connection_id.nil?
2294
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.queue_integration_lead_export"
2295
+ end
2296
+ # resource path
2297
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/export-leads'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
2298
+
2299
+ # query parameters
2300
+ query_params = opts[:query_params] || {}
2301
+
2302
+ # header parameters
2303
+ header_params = opts[:header_params] || {}
2304
+ # HTTP header 'Accept' (if needed)
2305
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2306
+ # HTTP header 'Content-Type'
2307
+ content_type = @api_client.select_header_content_type(['application/json'])
2308
+ if !content_type.nil?
2309
+ header_params['Content-Type'] = content_type
2310
+ end
2311
+
2312
+ # form parameters
2313
+ form_params = opts[:form_params] || {}
2314
+
2315
+ # http body (model)
2316
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'queue_integration_lead_export_request'])
2317
+
2318
+ # return_type
2319
+ return_type = opts[:debug_return_type] || 'IntegrationLeadExportResponse'
2320
+
2321
+ # auth_names
2322
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2323
+
2324
+ new_options = opts.merge(
2325
+ :operation => :"IntegrationsApi.queue_integration_lead_export",
2326
+ :header_params => header_params,
2327
+ :query_params => query_params,
2328
+ :form_params => form_params,
2329
+ :body => post_body,
2330
+ :auth_names => auth_names,
2331
+ :return_type => return_type
2332
+ )
2333
+
2334
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2335
+ if @api_client.config.debugging
2336
+ @api_client.config.logger.debug "API called: IntegrationsApi#queue_integration_lead_export\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2337
+ end
2338
+ return data, status_code, headers
2339
+ end
2340
+
2341
+ # Queue a test notification
2342
+ # Queues a provider test notification and returns 202. Poll getIntegrationJob for completion. This can send a message to the configured destination.
2343
+ # @param team_id [String]
2344
+ # @param connection_id [String]
2345
+ # @param [Hash] opts the optional parameters
2346
+ # @option opts [QueueNotificationTestRequest] :queue_notification_test_request
2347
+ # @return [QueuedIntegrationJobResponse]
2348
+ def queue_notification_test(team_id, connection_id, opts = {})
2349
+ data, _status_code, _headers = queue_notification_test_with_http_info(team_id, connection_id, opts)
2350
+ data
2351
+ end
2352
+
2353
+ # Queue a test notification
2354
+ # Queues a provider test notification and returns 202. Poll getIntegrationJob for completion. This can send a message to the configured destination.
2355
+ # @param team_id [String]
2356
+ # @param connection_id [String]
2357
+ # @param [Hash] opts the optional parameters
2358
+ # @option opts [QueueNotificationTestRequest] :queue_notification_test_request
2359
+ # @return [Array<(QueuedIntegrationJobResponse, Integer, Hash)>] QueuedIntegrationJobResponse data, response status code and response headers
2360
+ def queue_notification_test_with_http_info(team_id, connection_id, opts = {})
2361
+ if @api_client.config.debugging
2362
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.queue_notification_test ...'
2363
+ end
2364
+ # verify the required parameter 'team_id' is set
2365
+ if @api_client.config.client_side_validation && team_id.nil?
2366
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.queue_notification_test"
2367
+ end
2368
+ # verify the required parameter 'connection_id' is set
2369
+ if @api_client.config.client_side_validation && connection_id.nil?
2370
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.queue_notification_test"
2371
+ end
2372
+ # resource path
2373
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/notification-test'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
2374
+
2375
+ # query parameters
2376
+ query_params = opts[:query_params] || {}
2377
+
2378
+ # header parameters
2379
+ header_params = opts[:header_params] || {}
2380
+ # HTTP header 'Accept' (if needed)
2381
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2382
+ # HTTP header 'Content-Type'
2383
+ content_type = @api_client.select_header_content_type(['application/json'])
2384
+ if !content_type.nil?
2385
+ header_params['Content-Type'] = content_type
2386
+ end
2387
+
2388
+ # form parameters
2389
+ form_params = opts[:form_params] || {}
2390
+
2391
+ # http body (model)
2392
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'queue_notification_test_request'])
2393
+
2394
+ # return_type
2395
+ return_type = opts[:debug_return_type] || 'QueuedIntegrationJobResponse'
2396
+
2397
+ # auth_names
2398
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2399
+
2400
+ new_options = opts.merge(
2401
+ :operation => :"IntegrationsApi.queue_notification_test",
2402
+ :header_params => header_params,
2403
+ :query_params => query_params,
2404
+ :form_params => form_params,
2405
+ :body => post_body,
2406
+ :auth_names => auth_names,
2407
+ :return_type => return_type
2408
+ )
2409
+
2410
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2411
+ if @api_client.config.debugging
2412
+ @api_client.config.logger.debug "API called: IntegrationsApi#queue_notification_test\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2413
+ end
2414
+ return data, status_code, headers
2415
+ end
2416
+
2417
+ # Rotate a Coda credential
2418
+ # Stages and tests the replacement API token before completing rotation.
2419
+ # @param team_id [String]
2420
+ # @param connection_id [String]
2421
+ # @param rotate_coda_credential_request [RotateCodaCredentialRequest]
2422
+ # @param [Hash] opts the optional parameters
2423
+ # @return [IntegrationConnectionTestResponse]
2424
+ def rotate_coda_credential(team_id, connection_id, rotate_coda_credential_request, opts = {})
2425
+ data, _status_code, _headers = rotate_coda_credential_with_http_info(team_id, connection_id, rotate_coda_credential_request, opts)
2426
+ data
2427
+ end
2428
+
2429
+ # Rotate a Coda credential
2430
+ # Stages and tests the replacement API token before completing rotation.
2431
+ # @param team_id [String]
2432
+ # @param connection_id [String]
2433
+ # @param rotate_coda_credential_request [RotateCodaCredentialRequest]
2434
+ # @param [Hash] opts the optional parameters
2435
+ # @return [Array<(IntegrationConnectionTestResponse, Integer, Hash)>] IntegrationConnectionTestResponse data, response status code and response headers
2436
+ def rotate_coda_credential_with_http_info(team_id, connection_id, rotate_coda_credential_request, opts = {})
2437
+ if @api_client.config.debugging
2438
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.rotate_coda_credential ...'
2439
+ end
2440
+ # verify the required parameter 'team_id' is set
2441
+ if @api_client.config.client_side_validation && team_id.nil?
2442
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.rotate_coda_credential"
2443
+ end
2444
+ # verify the required parameter 'connection_id' is set
2445
+ if @api_client.config.client_side_validation && connection_id.nil?
2446
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.rotate_coda_credential"
2447
+ end
2448
+ # verify the required parameter 'rotate_coda_credential_request' is set
2449
+ if @api_client.config.client_side_validation && rotate_coda_credential_request.nil?
2450
+ fail ArgumentError, "Missing the required parameter 'rotate_coda_credential_request' when calling IntegrationsApi.rotate_coda_credential"
2451
+ end
2452
+ # resource path
2453
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/credentials/coda/rotate'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
2454
+
2455
+ # query parameters
2456
+ query_params = opts[:query_params] || {}
2457
+
2458
+ # header parameters
2459
+ header_params = opts[:header_params] || {}
2460
+ # HTTP header 'Accept' (if needed)
2461
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2462
+ # HTTP header 'Content-Type'
2463
+ content_type = @api_client.select_header_content_type(['application/json'])
2464
+ if !content_type.nil?
2465
+ header_params['Content-Type'] = content_type
2466
+ end
2467
+
2468
+ # form parameters
2469
+ form_params = opts[:form_params] || {}
2470
+
2471
+ # http body (model)
2472
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(rotate_coda_credential_request)
2473
+
2474
+ # return_type
2475
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionTestResponse'
2476
+
2477
+ # auth_names
2478
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2479
+
2480
+ new_options = opts.merge(
2481
+ :operation => :"IntegrationsApi.rotate_coda_credential",
2482
+ :header_params => header_params,
2483
+ :query_params => query_params,
2484
+ :form_params => form_params,
2485
+ :body => post_body,
2486
+ :auth_names => auth_names,
2487
+ :return_type => return_type
2488
+ )
2489
+
2490
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2491
+ if @api_client.config.debugging
2492
+ @api_client.config.logger.debug "API called: IntegrationsApi#rotate_coda_credential\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2493
+ end
2494
+ return data, status_code, headers
2495
+ end
2496
+
2497
+ # Rotate a Freshsales credential
2498
+ # Stages and tests the replacement credential before completing rotation. Requires connection operator access.
2499
+ # @param team_id [String]
2500
+ # @param connection_id [String]
2501
+ # @param rotate_freshsales_credential_request [RotateFreshsalesCredentialRequest]
2502
+ # @param [Hash] opts the optional parameters
2503
+ # @return [IntegrationConnectionTestResponse]
2504
+ def rotate_freshsales_credential(team_id, connection_id, rotate_freshsales_credential_request, opts = {})
2505
+ data, _status_code, _headers = rotate_freshsales_credential_with_http_info(team_id, connection_id, rotate_freshsales_credential_request, opts)
2506
+ data
2507
+ end
2508
+
2509
+ # Rotate a Freshsales credential
2510
+ # Stages and tests the replacement credential before completing rotation. Requires connection operator access.
2511
+ # @param team_id [String]
2512
+ # @param connection_id [String]
2513
+ # @param rotate_freshsales_credential_request [RotateFreshsalesCredentialRequest]
2514
+ # @param [Hash] opts the optional parameters
2515
+ # @return [Array<(IntegrationConnectionTestResponse, Integer, Hash)>] IntegrationConnectionTestResponse data, response status code and response headers
2516
+ def rotate_freshsales_credential_with_http_info(team_id, connection_id, rotate_freshsales_credential_request, opts = {})
2517
+ if @api_client.config.debugging
2518
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.rotate_freshsales_credential ...'
2519
+ end
2520
+ # verify the required parameter 'team_id' is set
2521
+ if @api_client.config.client_side_validation && team_id.nil?
2522
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.rotate_freshsales_credential"
2523
+ end
2524
+ # verify the required parameter 'connection_id' is set
2525
+ if @api_client.config.client_side_validation && connection_id.nil?
2526
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.rotate_freshsales_credential"
2527
+ end
2528
+ # verify the required parameter 'rotate_freshsales_credential_request' is set
2529
+ if @api_client.config.client_side_validation && rotate_freshsales_credential_request.nil?
2530
+ fail ArgumentError, "Missing the required parameter 'rotate_freshsales_credential_request' when calling IntegrationsApi.rotate_freshsales_credential"
2531
+ end
2532
+ # resource path
2533
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/credentials/freshsales/rotate'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
2534
+
2535
+ # query parameters
2536
+ query_params = opts[:query_params] || {}
2537
+
2538
+ # header parameters
2539
+ header_params = opts[:header_params] || {}
2540
+ # HTTP header 'Accept' (if needed)
2541
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2542
+ # HTTP header 'Content-Type'
2543
+ content_type = @api_client.select_header_content_type(['application/json'])
2544
+ if !content_type.nil?
2545
+ header_params['Content-Type'] = content_type
2546
+ end
2547
+
2548
+ # form parameters
2549
+ form_params = opts[:form_params] || {}
2550
+
2551
+ # http body (model)
2552
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(rotate_freshsales_credential_request)
2553
+
2554
+ # return_type
2555
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionTestResponse'
2556
+
2557
+ # auth_names
2558
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2559
+
2560
+ new_options = opts.merge(
2561
+ :operation => :"IntegrationsApi.rotate_freshsales_credential",
2562
+ :header_params => header_params,
2563
+ :query_params => query_params,
2564
+ :form_params => form_params,
2565
+ :body => post_body,
2566
+ :auth_names => auth_names,
2567
+ :return_type => return_type
2568
+ )
2569
+
2570
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2571
+ if @api_client.config.debugging
2572
+ @api_client.config.logger.debug "API called: IntegrationsApi#rotate_freshsales_credential\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2573
+ end
2574
+ return data, status_code, headers
2575
+ end
2576
+
2577
+ # Queue a spreadsheet workflow
2578
+ # Queues writeback and returns 202, not completion. Supply a stable requestId to identify this workflow revision and request; omission creates a new request ID. Poll getIntegrationJob for completion.
2579
+ # @param team_id [String]
2580
+ # @param workflow_id [String]
2581
+ # @param [Hash] opts the optional parameters
2582
+ # @option opts [RunSheetWorkflowRequest] :run_sheet_workflow_request
2583
+ # @return [QueuedIntegrationJobResponse]
2584
+ def run_sheet_workflow(team_id, workflow_id, opts = {})
2585
+ data, _status_code, _headers = run_sheet_workflow_with_http_info(team_id, workflow_id, opts)
2586
+ data
2587
+ end
2588
+
2589
+ # Queue a spreadsheet workflow
2590
+ # Queues writeback and returns 202, not completion. Supply a stable requestId to identify this workflow revision and request; omission creates a new request ID. Poll getIntegrationJob for completion.
2591
+ # @param team_id [String]
2592
+ # @param workflow_id [String]
2593
+ # @param [Hash] opts the optional parameters
2594
+ # @option opts [RunSheetWorkflowRequest] :run_sheet_workflow_request
2595
+ # @return [Array<(QueuedIntegrationJobResponse, Integer, Hash)>] QueuedIntegrationJobResponse data, response status code and response headers
2596
+ def run_sheet_workflow_with_http_info(team_id, workflow_id, opts = {})
2597
+ if @api_client.config.debugging
2598
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.run_sheet_workflow ...'
2599
+ end
2600
+ # verify the required parameter 'team_id' is set
2601
+ if @api_client.config.client_side_validation && team_id.nil?
2602
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.run_sheet_workflow"
2603
+ end
2604
+ # verify the required parameter 'workflow_id' is set
2605
+ if @api_client.config.client_side_validation && workflow_id.nil?
2606
+ fail ArgumentError, "Missing the required parameter 'workflow_id' when calling IntegrationsApi.run_sheet_workflow"
2607
+ end
2608
+ if @api_client.config.client_side_validation && workflow_id.to_s.length > 36
2609
+ fail ArgumentError, 'invalid value for "workflow_id" when calling IntegrationsApi.run_sheet_workflow, the character length must be smaller than or equal to 36.'
2610
+ end
2611
+
2612
+ if @api_client.config.client_side_validation && workflow_id.to_s.length < 36
2613
+ fail ArgumentError, 'invalid value for "workflow_id" when calling IntegrationsApi.run_sheet_workflow, the character length must be greater than or equal to 36.'
2614
+ end
2615
+
2616
+ # resource path
2617
+ local_var_path = '/v1/teams/{teamId}/integrations/spreadsheet-workflows/{workflowId}/run'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{workflowId}', CGI.escape(workflow_id.to_s))
2618
+
2619
+ # query parameters
2620
+ query_params = opts[:query_params] || {}
2621
+
2622
+ # header parameters
2623
+ header_params = opts[:header_params] || {}
2624
+ # HTTP header 'Accept' (if needed)
2625
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2626
+ # HTTP header 'Content-Type'
2627
+ content_type = @api_client.select_header_content_type(['application/json'])
2628
+ if !content_type.nil?
2629
+ header_params['Content-Type'] = content_type
2630
+ end
2631
+
2632
+ # form parameters
2633
+ form_params = opts[:form_params] || {}
2634
+
2635
+ # http body (model)
2636
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'run_sheet_workflow_request'])
2637
+
2638
+ # return_type
2639
+ return_type = opts[:debug_return_type] || 'QueuedIntegrationJobResponse'
2640
+
2641
+ # auth_names
2642
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2643
+
2644
+ new_options = opts.merge(
2645
+ :operation => :"IntegrationsApi.run_sheet_workflow",
2646
+ :header_params => header_params,
2647
+ :query_params => query_params,
2648
+ :form_params => form_params,
2649
+ :body => post_body,
2650
+ :auth_names => auth_names,
2651
+ :return_type => return_type
2652
+ )
2653
+
2654
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2655
+ if @api_client.config.debugging
2656
+ @api_client.config.logger.debug "API called: IntegrationsApi#run_sheet_workflow\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2657
+ end
2658
+ return data, status_code, headers
2659
+ end
2660
+
2661
+ # Create or update a spreadsheet workflow
2662
+ # Creates a workflow with 201, or updates the supplied workflowId with 200. The configuration is validated for its spreadsheet provider and capability.
2663
+ # @param team_id [String]
2664
+ # @param save_sheet_workflow_request [SaveSheetWorkflowRequest]
2665
+ # @param [Hash] opts the optional parameters
2666
+ # @return [SheetWorkflowResponse]
2667
+ def save_sheet_workflow(team_id, save_sheet_workflow_request, opts = {})
2668
+ data, _status_code, _headers = save_sheet_workflow_with_http_info(team_id, save_sheet_workflow_request, opts)
2669
+ data
2670
+ end
2671
+
2672
+ # Create or update a spreadsheet workflow
2673
+ # Creates a workflow with 201, or updates the supplied workflowId with 200. The configuration is validated for its spreadsheet provider and capability.
2674
+ # @param team_id [String]
2675
+ # @param save_sheet_workflow_request [SaveSheetWorkflowRequest]
2676
+ # @param [Hash] opts the optional parameters
2677
+ # @return [Array<(SheetWorkflowResponse, Integer, Hash)>] SheetWorkflowResponse data, response status code and response headers
2678
+ def save_sheet_workflow_with_http_info(team_id, save_sheet_workflow_request, opts = {})
2679
+ if @api_client.config.debugging
2680
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.save_sheet_workflow ...'
2681
+ end
2682
+ # verify the required parameter 'team_id' is set
2683
+ if @api_client.config.client_side_validation && team_id.nil?
2684
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.save_sheet_workflow"
2685
+ end
2686
+ # verify the required parameter 'save_sheet_workflow_request' is set
2687
+ if @api_client.config.client_side_validation && save_sheet_workflow_request.nil?
2688
+ fail ArgumentError, "Missing the required parameter 'save_sheet_workflow_request' when calling IntegrationsApi.save_sheet_workflow"
2689
+ end
2690
+ # resource path
2691
+ local_var_path = '/v1/teams/{teamId}/integrations/spreadsheet-workflows'.sub('{teamId}', CGI.escape(team_id.to_s))
2692
+
2693
+ # query parameters
2694
+ query_params = opts[:query_params] || {}
2695
+
2696
+ # header parameters
2697
+ header_params = opts[:header_params] || {}
2698
+ # HTTP header 'Accept' (if needed)
2699
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2700
+ # HTTP header 'Content-Type'
2701
+ content_type = @api_client.select_header_content_type(['application/json'])
2702
+ if !content_type.nil?
2703
+ header_params['Content-Type'] = content_type
2704
+ end
2705
+
2706
+ # form parameters
2707
+ form_params = opts[:form_params] || {}
2708
+
2709
+ # http body (model)
2710
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(save_sheet_workflow_request)
2711
+
2712
+ # return_type
2713
+ return_type = opts[:debug_return_type] || 'SheetWorkflowResponse'
2714
+
2715
+ # auth_names
2716
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2717
+
2718
+ new_options = opts.merge(
2719
+ :operation => :"IntegrationsApi.save_sheet_workflow",
2720
+ :header_params => header_params,
2721
+ :query_params => query_params,
2722
+ :form_params => form_params,
2723
+ :body => post_body,
2724
+ :auth_names => auth_names,
2725
+ :return_type => return_type
2726
+ )
2727
+
2728
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2729
+ if @api_client.config.debugging
2730
+ @api_client.config.logger.debug "API called: IntegrationsApi#save_sheet_workflow\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2731
+ end
2732
+ return data, status_code, headers
2733
+ end
2734
+
2735
+ # Start Attio authorization
2736
+ # Creates an authorization transaction and returns its URL and expiry. Complete consent in a browser.
2737
+ # @param team_id [String]
2738
+ # @param [Hash] opts the optional parameters
2739
+ # @option opts [StartAttioOAuthRequest] :start_attio_o_auth_request
2740
+ # @return [IntegrationOAuthStartResponse]
2741
+ def start_attio_o_auth(team_id, opts = {})
2742
+ data, _status_code, _headers = start_attio_o_auth_with_http_info(team_id, opts)
2743
+ data
2744
+ end
2745
+
2746
+ # Start Attio authorization
2747
+ # Creates an authorization transaction and returns its URL and expiry. Complete consent in a browser.
2748
+ # @param team_id [String]
2749
+ # @param [Hash] opts the optional parameters
2750
+ # @option opts [StartAttioOAuthRequest] :start_attio_o_auth_request
2751
+ # @return [Array<(IntegrationOAuthStartResponse, Integer, Hash)>] IntegrationOAuthStartResponse data, response status code and response headers
2752
+ def start_attio_o_auth_with_http_info(team_id, opts = {})
2753
+ if @api_client.config.debugging
2754
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.start_attio_o_auth ...'
2755
+ end
2756
+ # verify the required parameter 'team_id' is set
2757
+ if @api_client.config.client_side_validation && team_id.nil?
2758
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.start_attio_o_auth"
2759
+ end
2760
+ # resource path
2761
+ local_var_path = '/v1/teams/{teamId}/integrations/attio/oauth/start'.sub('{teamId}', CGI.escape(team_id.to_s))
2762
+
2763
+ # query parameters
2764
+ query_params = opts[:query_params] || {}
2765
+
2766
+ # header parameters
2767
+ header_params = opts[:header_params] || {}
2768
+ # HTTP header 'Accept' (if needed)
2769
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2770
+ # HTTP header 'Content-Type'
2771
+ content_type = @api_client.select_header_content_type(['application/json'])
2772
+ if !content_type.nil?
2773
+ header_params['Content-Type'] = content_type
2774
+ end
2775
+
2776
+ # form parameters
2777
+ form_params = opts[:form_params] || {}
2778
+
2779
+ # http body (model)
2780
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'start_attio_o_auth_request'])
2781
+
2782
+ # return_type
2783
+ return_type = opts[:debug_return_type] || 'IntegrationOAuthStartResponse'
2784
+
2785
+ # auth_names
2786
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2787
+
2788
+ new_options = opts.merge(
2789
+ :operation => :"IntegrationsApi.start_attio_o_auth",
2790
+ :header_params => header_params,
2791
+ :query_params => query_params,
2792
+ :form_params => form_params,
2793
+ :body => post_body,
2794
+ :auth_names => auth_names,
2795
+ :return_type => return_type
2796
+ )
2797
+
2798
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2799
+ if @api_client.config.debugging
2800
+ @api_client.config.logger.debug "API called: IntegrationsApi#start_attio_o_auth\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2801
+ end
2802
+ return data, status_code, headers
2803
+ end
2804
+
2805
+ # Start Google Sheets authorization
2806
+ # Creates a short-lived authorization transaction. Open authorizationUrl in a browser to complete provider consent before using the resulting connection.
2807
+ # @param team_id [String]
2808
+ # @param [Hash] opts the optional parameters
2809
+ # @option opts [StartGoogleSheetsOAuthRequest] :start_google_sheets_o_auth_request
2810
+ # @return [IntegrationOAuthStartResponse]
2811
+ def start_google_sheets_o_auth(team_id, opts = {})
2812
+ data, _status_code, _headers = start_google_sheets_o_auth_with_http_info(team_id, opts)
2813
+ data
2814
+ end
2815
+
2816
+ # Start Google Sheets authorization
2817
+ # Creates a short-lived authorization transaction. Open authorizationUrl in a browser to complete provider consent before using the resulting connection.
2818
+ # @param team_id [String]
2819
+ # @param [Hash] opts the optional parameters
2820
+ # @option opts [StartGoogleSheetsOAuthRequest] :start_google_sheets_o_auth_request
2821
+ # @return [Array<(IntegrationOAuthStartResponse, Integer, Hash)>] IntegrationOAuthStartResponse data, response status code and response headers
2822
+ def start_google_sheets_o_auth_with_http_info(team_id, opts = {})
2823
+ if @api_client.config.debugging
2824
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.start_google_sheets_o_auth ...'
2825
+ end
2826
+ # verify the required parameter 'team_id' is set
2827
+ if @api_client.config.client_side_validation && team_id.nil?
2828
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.start_google_sheets_o_auth"
2829
+ end
2830
+ # resource path
2831
+ local_var_path = '/v1/teams/{teamId}/integrations/google-sheets/oauth/start'.sub('{teamId}', CGI.escape(team_id.to_s))
2832
+
2833
+ # query parameters
2834
+ query_params = opts[:query_params] || {}
2835
+
2836
+ # header parameters
2837
+ header_params = opts[:header_params] || {}
2838
+ # HTTP header 'Accept' (if needed)
2839
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2840
+ # HTTP header 'Content-Type'
2841
+ content_type = @api_client.select_header_content_type(['application/json'])
2842
+ if !content_type.nil?
2843
+ header_params['Content-Type'] = content_type
2844
+ end
2845
+
2846
+ # form parameters
2847
+ form_params = opts[:form_params] || {}
2848
+
2849
+ # http body (model)
2850
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'start_google_sheets_o_auth_request'])
2851
+
2852
+ # return_type
2853
+ return_type = opts[:debug_return_type] || 'IntegrationOAuthStartResponse'
2854
+
2855
+ # auth_names
2856
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2857
+
2858
+ new_options = opts.merge(
2859
+ :operation => :"IntegrationsApi.start_google_sheets_o_auth",
2860
+ :header_params => header_params,
2861
+ :query_params => query_params,
2862
+ :form_params => form_params,
2863
+ :body => post_body,
2864
+ :auth_names => auth_names,
2865
+ :return_type => return_type
2866
+ )
2867
+
2868
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2869
+ if @api_client.config.debugging
2870
+ @api_client.config.logger.debug "API called: IntegrationsApi#start_google_sheets_o_auth\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2871
+ end
2872
+ return data, status_code, headers
2873
+ end
2874
+
2875
+ # Start provider authorization
2876
+ # Starts authorization for the supported provider. Complete consent at authorizationUrl before configuring the connection. Provider-specific authorizationServer and resourceUrl inputs are validated by the server.
2877
+ # @param team_id [String]
2878
+ # @param provider [String]
2879
+ # @param [Hash] opts the optional parameters
2880
+ # @option opts [StartIntegrationOAuthRequest] :start_integration_o_auth_request
2881
+ # @return [IntegrationOAuthStartResponse]
2882
+ def start_integration_o_auth(team_id, provider, opts = {})
2883
+ data, _status_code, _headers = start_integration_o_auth_with_http_info(team_id, provider, opts)
2884
+ data
2885
+ end
2886
+
2887
+ # Start provider authorization
2888
+ # Starts authorization for the supported provider. Complete consent at authorizationUrl before configuring the connection. Provider-specific authorizationServer and resourceUrl inputs are validated by the server.
2889
+ # @param team_id [String]
2890
+ # @param provider [String]
2891
+ # @param [Hash] opts the optional parameters
2892
+ # @option opts [StartIntegrationOAuthRequest] :start_integration_o_auth_request
2893
+ # @return [Array<(IntegrationOAuthStartResponse, Integer, Hash)>] IntegrationOAuthStartResponse data, response status code and response headers
2894
+ def start_integration_o_auth_with_http_info(team_id, provider, opts = {})
2895
+ if @api_client.config.debugging
2896
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.start_integration_o_auth ...'
2897
+ end
2898
+ # verify the required parameter 'team_id' is set
2899
+ if @api_client.config.client_side_validation && team_id.nil?
2900
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.start_integration_o_auth"
2901
+ end
2902
+ # verify the required parameter 'provider' is set
2903
+ if @api_client.config.client_side_validation && provider.nil?
2904
+ fail ArgumentError, "Missing the required parameter 'provider' when calling IntegrationsApi.start_integration_o_auth"
2905
+ end
2906
+ # verify enum value
2907
+ allowable_values = ["microsoft_excel", "airtable", "salesforce", "hubspot", "pipedrive", "zoho", "close", "dynamics", "copper", "notion", "slack", "webflow", "typeform"]
2908
+ if @api_client.config.client_side_validation && !allowable_values.include?(provider)
2909
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{allowable_values}"
2910
+ end
2911
+ # resource path
2912
+ local_var_path = '/v1/teams/{teamId}/integrations/{provider}/oauth/start'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{provider}', CGI.escape(provider.to_s))
2913
+
2914
+ # query parameters
2915
+ query_params = opts[:query_params] || {}
2916
+
2917
+ # header parameters
2918
+ header_params = opts[:header_params] || {}
2919
+ # HTTP header 'Accept' (if needed)
2920
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2921
+ # HTTP header 'Content-Type'
2922
+ content_type = @api_client.select_header_content_type(['application/json'])
2923
+ if !content_type.nil?
2924
+ header_params['Content-Type'] = content_type
2925
+ end
2926
+
2927
+ # form parameters
2928
+ form_params = opts[:form_params] || {}
2929
+
2930
+ # http body (model)
2931
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'start_integration_o_auth_request'])
2932
+
2933
+ # return_type
2934
+ return_type = opts[:debug_return_type] || 'IntegrationOAuthStartResponse'
2935
+
2936
+ # auth_names
2937
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2938
+
2939
+ new_options = opts.merge(
2940
+ :operation => :"IntegrationsApi.start_integration_o_auth",
2941
+ :header_params => header_params,
2942
+ :query_params => query_params,
2943
+ :form_params => form_params,
2944
+ :body => post_body,
2945
+ :auth_names => auth_names,
2946
+ :return_type => return_type
2947
+ )
2948
+
2949
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2950
+ if @api_client.config.debugging
2951
+ @api_client.config.logger.debug "API called: IntegrationsApi#start_integration_o_auth\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2952
+ end
2953
+ return data, status_code, headers
2954
+ end
2955
+
2956
+ # Test an integration connection
2957
+ # Calls the provider and updates connection health. Inspect test.state and test.code; provider test failure may be represented in a successful HTTP response.
2958
+ # @param team_id [String]
2959
+ # @param connection_id [String]
2960
+ # @param [Hash] opts the optional parameters
2961
+ # @return [IntegrationConnectionTestResponse]
2962
+ def test_integration_connection(team_id, connection_id, opts = {})
2963
+ data, _status_code, _headers = test_integration_connection_with_http_info(team_id, connection_id, opts)
2964
+ data
2965
+ end
2966
+
2967
+ # Test an integration connection
2968
+ # Calls the provider and updates connection health. Inspect test.state and test.code; provider test failure may be represented in a successful HTTP response.
2969
+ # @param team_id [String]
2970
+ # @param connection_id [String]
2971
+ # @param [Hash] opts the optional parameters
2972
+ # @return [Array<(IntegrationConnectionTestResponse, Integer, Hash)>] IntegrationConnectionTestResponse data, response status code and response headers
2973
+ def test_integration_connection_with_http_info(team_id, connection_id, opts = {})
2974
+ if @api_client.config.debugging
2975
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.test_integration_connection ...'
2976
+ end
2977
+ # verify the required parameter 'team_id' is set
2978
+ if @api_client.config.client_side_validation && team_id.nil?
2979
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.test_integration_connection"
2980
+ end
2981
+ # verify the required parameter 'connection_id' is set
2982
+ if @api_client.config.client_side_validation && connection_id.nil?
2983
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.test_integration_connection"
2984
+ end
2985
+ # resource path
2986
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/test'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
2987
+
2988
+ # query parameters
2989
+ query_params = opts[:query_params] || {}
2990
+
2991
+ # header parameters
2992
+ header_params = opts[:header_params] || {}
2993
+ # HTTP header 'Accept' (if needed)
2994
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2995
+
2996
+ # form parameters
2997
+ form_params = opts[:form_params] || {}
2998
+
2999
+ # http body (model)
3000
+ post_body = opts[:debug_body]
3001
+
3002
+ # return_type
3003
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionTestResponse'
3004
+
3005
+ # auth_names
3006
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
3007
+
3008
+ new_options = opts.merge(
3009
+ :operation => :"IntegrationsApi.test_integration_connection",
3010
+ :header_params => header_params,
3011
+ :query_params => query_params,
3012
+ :form_params => form_params,
3013
+ :body => post_body,
3014
+ :auth_names => auth_names,
3015
+ :return_type => return_type
3016
+ )
3017
+
3018
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3019
+ if @api_client.config.debugging
3020
+ @api_client.config.logger.debug "API called: IntegrationsApi#test_integration_connection\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3021
+ end
3022
+ return data, status_code, headers
3023
+ end
3024
+
3025
+ # Change integration connection state
3026
+ # Pauses, resumes or disconnects a connection. vaultDeletionPending counts credential deletions still pending cleanup.
3027
+ # @param team_id [String]
3028
+ # @param connection_id [String]
3029
+ # @param update_integration_connection_state_request [UpdateIntegrationConnectionStateRequest]
3030
+ # @param [Hash] opts the optional parameters
3031
+ # @return [IntegrationConnectionStateResponse]
3032
+ def update_integration_connection_state(team_id, connection_id, update_integration_connection_state_request, opts = {})
3033
+ data, _status_code, _headers = update_integration_connection_state_with_http_info(team_id, connection_id, update_integration_connection_state_request, opts)
3034
+ data
3035
+ end
3036
+
3037
+ # Change integration connection state
3038
+ # Pauses, resumes or disconnects a connection. vaultDeletionPending counts credential deletions still pending cleanup.
3039
+ # @param team_id [String]
3040
+ # @param connection_id [String]
3041
+ # @param update_integration_connection_state_request [UpdateIntegrationConnectionStateRequest]
3042
+ # @param [Hash] opts the optional parameters
3043
+ # @return [Array<(IntegrationConnectionStateResponse, Integer, Hash)>] IntegrationConnectionStateResponse data, response status code and response headers
3044
+ def update_integration_connection_state_with_http_info(team_id, connection_id, update_integration_connection_state_request, opts = {})
3045
+ if @api_client.config.debugging
3046
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.update_integration_connection_state ...'
3047
+ end
3048
+ # verify the required parameter 'team_id' is set
3049
+ if @api_client.config.client_side_validation && team_id.nil?
3050
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.update_integration_connection_state"
3051
+ end
3052
+ # verify the required parameter 'connection_id' is set
3053
+ if @api_client.config.client_side_validation && connection_id.nil?
3054
+ fail ArgumentError, "Missing the required parameter 'connection_id' when calling IntegrationsApi.update_integration_connection_state"
3055
+ end
3056
+ # verify the required parameter 'update_integration_connection_state_request' is set
3057
+ if @api_client.config.client_side_validation && update_integration_connection_state_request.nil?
3058
+ fail ArgumentError, "Missing the required parameter 'update_integration_connection_state_request' when calling IntegrationsApi.update_integration_connection_state"
3059
+ end
3060
+ # resource path
3061
+ local_var_path = '/v1/teams/{teamId}/integrations/connections/{connectionId}/state'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{connectionId}', CGI.escape(connection_id.to_s))
3062
+
3063
+ # query parameters
3064
+ query_params = opts[:query_params] || {}
3065
+
3066
+ # header parameters
3067
+ header_params = opts[:header_params] || {}
3068
+ # HTTP header 'Accept' (if needed)
3069
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
3070
+ # HTTP header 'Content-Type'
3071
+ content_type = @api_client.select_header_content_type(['application/json'])
3072
+ if !content_type.nil?
3073
+ header_params['Content-Type'] = content_type
3074
+ end
3075
+
3076
+ # form parameters
3077
+ form_params = opts[:form_params] || {}
3078
+
3079
+ # http body (model)
3080
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_integration_connection_state_request)
3081
+
3082
+ # return_type
3083
+ return_type = opts[:debug_return_type] || 'IntegrationConnectionStateResponse'
3084
+
3085
+ # auth_names
3086
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
3087
+
3088
+ new_options = opts.merge(
3089
+ :operation => :"IntegrationsApi.update_integration_connection_state",
3090
+ :header_params => header_params,
3091
+ :query_params => query_params,
3092
+ :form_params => form_params,
3093
+ :body => post_body,
3094
+ :auth_names => auth_names,
3095
+ :return_type => return_type
3096
+ )
3097
+
3098
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3099
+ if @api_client.config.debugging
3100
+ @api_client.config.logger.debug "API called: IntegrationsApi#update_integration_connection_state\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3101
+ end
3102
+ return data, status_code, headers
3103
+ end
3104
+
3105
+ # Change spreadsheet workflow state
3106
+ # Pauses, resumes or deletes the workflow. Delete returns deleted and workflowId; pause and resume return the workflow.
3107
+ # @param team_id [String]
3108
+ # @param workflow_id [String]
3109
+ # @param update_sheet_workflow_state_request [UpdateSheetWorkflowStateRequest]
3110
+ # @param [Hash] opts the optional parameters
3111
+ # @return [SheetWorkflowStateResponse]
3112
+ def update_sheet_workflow_state(team_id, workflow_id, update_sheet_workflow_state_request, opts = {})
3113
+ data, _status_code, _headers = update_sheet_workflow_state_with_http_info(team_id, workflow_id, update_sheet_workflow_state_request, opts)
3114
+ data
3115
+ end
3116
+
3117
+ # Change spreadsheet workflow state
3118
+ # Pauses, resumes or deletes the workflow. Delete returns deleted and workflowId; pause and resume return the workflow.
3119
+ # @param team_id [String]
3120
+ # @param workflow_id [String]
3121
+ # @param update_sheet_workflow_state_request [UpdateSheetWorkflowStateRequest]
3122
+ # @param [Hash] opts the optional parameters
3123
+ # @return [Array<(SheetWorkflowStateResponse, Integer, Hash)>] SheetWorkflowStateResponse data, response status code and response headers
3124
+ def update_sheet_workflow_state_with_http_info(team_id, workflow_id, update_sheet_workflow_state_request, opts = {})
3125
+ if @api_client.config.debugging
3126
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.update_sheet_workflow_state ...'
3127
+ end
3128
+ # verify the required parameter 'team_id' is set
3129
+ if @api_client.config.client_side_validation && team_id.nil?
3130
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling IntegrationsApi.update_sheet_workflow_state"
3131
+ end
3132
+ # verify the required parameter 'workflow_id' is set
3133
+ if @api_client.config.client_side_validation && workflow_id.nil?
3134
+ fail ArgumentError, "Missing the required parameter 'workflow_id' when calling IntegrationsApi.update_sheet_workflow_state"
3135
+ end
3136
+ if @api_client.config.client_side_validation && workflow_id.to_s.length > 36
3137
+ fail ArgumentError, 'invalid value for "workflow_id" when calling IntegrationsApi.update_sheet_workflow_state, the character length must be smaller than or equal to 36.'
3138
+ end
3139
+
3140
+ if @api_client.config.client_side_validation && workflow_id.to_s.length < 36
3141
+ fail ArgumentError, 'invalid value for "workflow_id" when calling IntegrationsApi.update_sheet_workflow_state, the character length must be greater than or equal to 36.'
3142
+ end
3143
+
3144
+ # verify the required parameter 'update_sheet_workflow_state_request' is set
3145
+ if @api_client.config.client_side_validation && update_sheet_workflow_state_request.nil?
3146
+ fail ArgumentError, "Missing the required parameter 'update_sheet_workflow_state_request' when calling IntegrationsApi.update_sheet_workflow_state"
3147
+ end
3148
+ # resource path
3149
+ local_var_path = '/v1/teams/{teamId}/integrations/spreadsheet-workflows/{workflowId}/state'.sub('{teamId}', CGI.escape(team_id.to_s)).sub('{workflowId}', CGI.escape(workflow_id.to_s))
3150
+
3151
+ # query parameters
3152
+ query_params = opts[:query_params] || {}
3153
+
3154
+ # header parameters
3155
+ header_params = opts[:header_params] || {}
3156
+ # HTTP header 'Accept' (if needed)
3157
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
3158
+ # HTTP header 'Content-Type'
3159
+ content_type = @api_client.select_header_content_type(['application/json'])
3160
+ if !content_type.nil?
3161
+ header_params['Content-Type'] = content_type
3162
+ end
3163
+
3164
+ # form parameters
3165
+ form_params = opts[:form_params] || {}
3166
+
3167
+ # http body (model)
3168
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_sheet_workflow_state_request)
3169
+
3170
+ # return_type
3171
+ return_type = opts[:debug_return_type] || 'SheetWorkflowStateResponse'
3172
+
3173
+ # auth_names
3174
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
3175
+
3176
+ new_options = opts.merge(
3177
+ :operation => :"IntegrationsApi.update_sheet_workflow_state",
3178
+ :header_params => header_params,
3179
+ :query_params => query_params,
3180
+ :form_params => form_params,
3181
+ :body => post_body,
3182
+ :auth_names => auth_names,
3183
+ :return_type => return_type
3184
+ )
3185
+
3186
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
3187
+ if @api_client.config.debugging
3188
+ @api_client.config.logger.debug "API called: IntegrationsApi#update_sheet_workflow_state\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3189
+ end
3190
+ return data, status_code, headers
3191
+ end
3192
+ end
3193
+ end