hanzoai 8.5.156

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 (2468) hide show
  1. checksums.yaml +7 -0
  2. data/CLAUDE.md +18 -0
  3. data/Gemfile +5 -0
  4. data/LICENSE +201 -0
  5. data/LLM.md +1 -0
  6. data/README.md +119 -0
  7. data/SECURITY.md +5 -0
  8. data/examples/catalog.rb +16 -0
  9. data/examples/models.rb +14 -0
  10. data/hanzo.yml +9 -0
  11. data/hanzoai.gemspec +41 -0
  12. data/lib/hanzoai/api/account_api.rb +645 -0
  13. data/lib/hanzoai/api/ad_api.rb +469 -0
  14. data/lib/hanzoai/api/affiliate_api.rb +647 -0
  15. data/lib/hanzoai/api/agents_api.rb +2503 -0
  16. data/lib/hanzoai/api/ai_api.rb +17385 -0
  17. data/lib/hanzoai/api/allowance_api.rb +79 -0
  18. data/lib/hanzoai/api/ask_api.rb +152 -0
  19. data/lib/hanzoai/api/audit_api.rb +106 -0
  20. data/lib/hanzoai/api/author_api.rb +343 -0
  21. data/lib/hanzoai/api/authz_api.rb +187 -0
  22. data/lib/hanzoai/api/auto_api.rb +1123 -0
  23. data/lib/hanzoai/api/base_api.rb +199 -0
  24. data/lib/hanzoai/api/benchmark_api.rb +609 -0
  25. data/lib/hanzoai/api/billing_api.rb +2774 -0
  26. data/lib/hanzoai/api/blueprint_api.rb +191 -0
  27. data/lib/hanzoai/api/books_api.rb +1604 -0
  28. data/lib/hanzoai/api/bot_api.rb +197 -0
  29. data/lib/hanzoai/api/campaign_api.rb +745 -0
  30. data/lib/hanzoai/api/captable_api.rb +1990 -0
  31. data/lib/hanzoai/api/catalog_api.rb +109 -0
  32. data/lib/hanzoai/api/channels_api.rb +456 -0
  33. data/lib/hanzoai/api/cloudflare_api.rb +2178 -0
  34. data/lib/hanzoai/api/code_api.rb +481 -0
  35. data/lib/hanzoai/api/commerce_api.rb +10870 -0
  36. data/lib/hanzoai/api/company_api.rb +1544 -0
  37. data/lib/hanzoai/api/compliance_api.rb +1095 -0
  38. data/lib/hanzoai/api/content_api.rb +421 -0
  39. data/lib/hanzoai/api/crawl_api.rb +90 -0
  40. data/lib/hanzoai/api/crm_api.rb +1318 -0
  41. data/lib/hanzoai/api/dataroom_api.rb +1697 -0
  42. data/lib/hanzoai/api/dataset_api.rb +477 -0
  43. data/lib/hanzoai/api/deploy_api.rb +1202 -0
  44. data/lib/hanzoai/api/destination_api.rb +338 -0
  45. data/lib/hanzoai/api/dns_api.rb +754 -0
  46. data/lib/hanzoai/api/domain_api.rb +471 -0
  47. data/lib/hanzoai/api/engine_api.rb +253 -0
  48. data/lib/hanzoai/api/entitlement_api.rb +216 -0
  49. data/lib/hanzoai/api/esign_api.rb +908 -0
  50. data/lib/hanzoai/api/eval_api.rb +1075 -0
  51. data/lib/hanzoai/api/event_api.rb +778 -0
  52. data/lib/hanzoai/api/exec_api.rb +263 -0
  53. data/lib/hanzoai/api/experiment_api.rb +488 -0
  54. data/lib/hanzoai/api/explorer_api.rb +136 -0
  55. data/lib/hanzoai/api/flags_api.rb +528 -0
  56. data/lib/hanzoai/api/flow_api.rb +538 -0
  57. data/lib/hanzoai/api/framework_api.rb +1254 -0
  58. data/lib/hanzoai/api/functions_api.rb +707 -0
  59. data/lib/hanzoai/api/gateway_api.rb +204 -0
  60. data/lib/hanzoai/api/git_api.rb +2936 -0
  61. data/lib/hanzoai/api/graph_api.rb +478 -0
  62. data/lib/hanzoai/api/guide_api.rb +1159 -0
  63. data/lib/hanzoai/api/help_api.rb +273 -0
  64. data/lib/hanzoai/api/iam_api.rb +9656 -0
  65. data/lib/hanzoai/api/index_api.rb +1135 -0
  66. data/lib/hanzoai/api/ingress_api.rb +1173 -0
  67. data/lib/hanzoai/api/integrations_api.rb +3047 -0
  68. data/lib/hanzoai/api/kms_api.rb +341 -0
  69. data/lib/hanzoai/api/knowledge_api.rb +580 -0
  70. data/lib/hanzoai/api/kv_api.rb +442 -0
  71. data/lib/hanzoai/api/label_api.rb +492 -0
  72. data/lib/hanzoai/api/leaderboard_api.rb +353 -0
  73. data/lib/hanzoai/api/legal_api.rb +727 -0
  74. data/lib/hanzoai/api/licensing_api.rb +722 -0
  75. data/lib/hanzoai/api/link_api.rb +710 -0
  76. data/lib/hanzoai/api/lsp_api.rb +362 -0
  77. data/lib/hanzoai/api/marketing_api.rb +2325 -0
  78. data/lib/hanzoai/api/marketplace_api.rb +401 -0
  79. data/lib/hanzoai/api/meet_api.rb +456 -0
  80. data/lib/hanzoai/api/metrics_api.rb +627 -0
  81. data/lib/hanzoai/api/ml_api.rb +448 -0
  82. data/lib/hanzoai/api/mq_api.rb +1040 -0
  83. data/lib/hanzoai/api/network_api.rb +256 -0
  84. data/lib/hanzoai/api/node_api.rb +250 -0
  85. data/lib/hanzoai/api/notify_api.rb +283 -0
  86. data/lib/hanzoai/api/o11y_api.rb +25688 -0
  87. data/lib/hanzoai/api/openapi_api.rb +316 -0
  88. data/lib/hanzoai/api/plan_api.rb +832 -0
  89. data/lib/hanzoai/api/platform_api.rb +2522 -0
  90. data/lib/hanzoai/api/pref_api.rb +134 -0
  91. data/lib/hanzoai/api/pricing_api.rb +1646 -0
  92. data/lib/hanzoai/api/projects_api.rb +1942 -0
  93. data/lib/hanzoai/api/prompt_api.rb +385 -0
  94. data/lib/hanzoai/api/provisioning_api.rb +1765 -0
  95. data/lib/hanzoai/api/pubsub_api.rb +158 -0
  96. data/lib/hanzoai/api/reference_api.rb +424 -0
  97. data/lib/hanzoai/api/referral_api.rb +147 -0
  98. data/lib/hanzoai/api/registry_api.rb +381 -0
  99. data/lib/hanzoai/api/risk_api.rb +711 -0
  100. data/lib/hanzoai/api/s3_api.rb +408 -0
  101. data/lib/hanzoai/api/sandbox_api.rb +1252 -0
  102. data/lib/hanzoai/api/sbom_api.rb +147 -0
  103. data/lib/hanzoai/api/search_api.rb +90 -0
  104. data/lib/hanzoai/api/security_api.rb +456 -0
  105. data/lib/hanzoai/api/seo_api.rb +487 -0
  106. data/lib/hanzoai/api/settings_api.rb +159 -0
  107. data/lib/hanzoai/api/share_api.rb +136 -0
  108. data/lib/hanzoai/api/social_api.rb +857 -0
  109. data/lib/hanzoai/api/standing_api.rb +90 -0
  110. data/lib/hanzoai/api/sync_api.rb +408 -0
  111. data/lib/hanzoai/api/tasks_api.rb +297 -0
  112. data/lib/hanzoai/api/taxonomy_api.rb +356 -0
  113. data/lib/hanzoai/api/team_api.rb +1248 -0
  114. data/lib/hanzoai/api/tel_api.rb +649 -0
  115. data/lib/hanzoai/api/template_api.rb +345 -0
  116. data/lib/hanzoai/api/todo_api.rb +917 -0
  117. data/lib/hanzoai/api/tools_api.rb +1226 -0
  118. data/lib/hanzoai/api/translate_api.rb +211 -0
  119. data/lib/hanzoai/api/treasury_api.rb +142 -0
  120. data/lib/hanzoai/api/trust_api.rb +1056 -0
  121. data/lib/hanzoai/api/usage_api.rb +354 -0
  122. data/lib/hanzoai/api/validator_api.rb +273 -0
  123. data/lib/hanzoai/api/visor_api.rb +2147 -0
  124. data/lib/hanzoai/api/wallet_api.rb +555 -0
  125. data/lib/hanzoai/api/web3_api.rb +285 -0
  126. data/lib/hanzoai/api/webhook_api.rb +540 -0
  127. data/lib/hanzoai/api/websearch_api.rb +420 -0
  128. data/lib/hanzoai/api/world_api.rb +376 -0
  129. data/lib/hanzoai/api/x402_api.rb +85 -0
  130. data/lib/hanzoai/api_client.rb +437 -0
  131. data/lib/hanzoai/api_error.rb +58 -0
  132. data/lib/hanzoai/configuration.rb +392 -0
  133. data/lib/hanzoai/models/acc_list.rb +233 -0
  134. data/lib/hanzoai/models/acc_view.rb +321 -0
  135. data/lib/hanzoai/models/account.rb +251 -0
  136. data/lib/hanzoai/models/account_list.rb +223 -0
  137. data/lib/hanzoai/models/account_view.rb +231 -0
  138. data/lib/hanzoai/models/accounts.rb +249 -0
  139. data/lib/hanzoai/models/accounts_out.rb +243 -0
  140. data/lib/hanzoai/models/accounts_total.rb +271 -0
  141. data/lib/hanzoai/models/accounts_usage.rb +253 -0
  142. data/lib/hanzoai/models/accreditation_decision.rb +231 -0
  143. data/lib/hanzoai/models/accreditation_req.rb +281 -0
  144. data/lib/hanzoai/models/action_record.rb +291 -0
  145. data/lib/hanzoai/models/actions_view.rb +223 -0
  146. data/lib/hanzoai/models/activation_req.rb +235 -0
  147. data/lib/hanzoai/models/activation_set.rb +223 -0
  148. data/lib/hanzoai/models/activity_feed.rb +223 -0
  149. data/lib/hanzoai/models/activity_out.rb +223 -0
  150. data/lib/hanzoai/models/activity_point.rb +251 -0
  151. data/lib/hanzoai/models/activity_row.rb +271 -0
  152. data/lib/hanzoai/models/activity_totals.rb +271 -0
  153. data/lib/hanzoai/models/activity_view.rb +261 -0
  154. data/lib/hanzoai/models/ad_campaign.rb +321 -0
  155. data/lib/hanzoai/models/ad_summary.rb +251 -0
  156. data/lib/hanzoai/models/add_domain_req.rb +241 -0
  157. data/lib/hanzoai/models/admission.rb +263 -0
  158. data/lib/hanzoai/models/advance_in.rb +221 -0
  159. data/lib/hanzoai/models/affiliate_board.rb +243 -0
  160. data/lib/hanzoai/models/affiliate_earnings.rb +285 -0
  161. data/lib/hanzoai/models/affiliate_links.rb +253 -0
  162. data/lib/hanzoai/models/affiliate_self.rb +377 -0
  163. data/lib/hanzoai/models/affiliate_standing.rb +363 -0
  164. data/lib/hanzoai/models/agent_binding.rb +331 -0
  165. data/lib/hanzoai/models/agent_detail.rb +352 -0
  166. data/lib/hanzoai/models/agent_list.rb +223 -0
  167. data/lib/hanzoai/models/agent_run_view.rb +351 -0
  168. data/lib/hanzoai/models/agent_view.rb +343 -0
  169. data/lib/hanzoai/models/ai_mcp_app.rb +231 -0
  170. data/lib/hanzoai/models/ai_mcp_surface.rb +245 -0
  171. data/lib/hanzoai/models/alert.rb +373 -0
  172. data/lib/hanzoai/models/alert_patch.rb +292 -0
  173. data/lib/hanzoai/models/alert_spec.rb +292 -0
  174. data/lib/hanzoai/models/allowance.rb +271 -0
  175. data/lib/hanzoai/models/allowlist_put_in.rb +277 -0
  176. data/lib/hanzoai/models/allowlist_view.rb +279 -0
  177. data/lib/hanzoai/models/analysis.rb +273 -0
  178. data/lib/hanzoai/models/analytics_view.rb +233 -0
  179. data/lib/hanzoai/models/analyze_query.rb +261 -0
  180. data/lib/hanzoai/models/answer.rb +329 -0
  181. data/lib/hanzoai/models/api_key.rb +263 -0
  182. data/lib/hanzoai/models/api_key_list.rb +223 -0
  183. data/lib/hanzoai/models/app_view.rb +475 -0
  184. data/lib/hanzoai/models/appearance.rb +241 -0
  185. data/lib/hanzoai/models/application.rb +271 -0
  186. data/lib/hanzoai/models/application_list.rb +223 -0
  187. data/lib/hanzoai/models/applied_resource.rb +241 -0
  188. data/lib/hanzoai/models/apply_request.rb +221 -0
  189. data/lib/hanzoai/models/approve_pairing_in.rb +231 -0
  190. data/lib/hanzoai/models/argo_app.rb +261 -0
  191. data/lib/hanzoai/models/argo_app_list.rb +253 -0
  192. data/lib/hanzoai/models/argo_cluster.rb +251 -0
  193. data/lib/hanzoai/models/argo_cluster_info.rb +241 -0
  194. data/lib/hanzoai/models/argo_cluster_list.rb +233 -0
  195. data/lib/hanzoai/models/argo_connection_state.rb +241 -0
  196. data/lib/hanzoai/models/argo_destination.rb +241 -0
  197. data/lib/hanzoai/models/argo_group_kind.rb +231 -0
  198. data/lib/hanzoai/models/argo_health.rb +231 -0
  199. data/lib/hanzoai/models/argo_info_item.rb +231 -0
  200. data/lib/hanzoai/models/argo_list_meta.rb +221 -0
  201. data/lib/hanzoai/models/argo_meta.rb +263 -0
  202. data/lib/hanzoai/models/argo_node.rb +331 -0
  203. data/lib/hanzoai/models/argo_project.rb +260 -0
  204. data/lib/hanzoai/models/argo_project_list.rb +233 -0
  205. data/lib/hanzoai/models/argo_project_spec.rb +257 -0
  206. data/lib/hanzoai/models/argo_resource_ref.rb +271 -0
  207. data/lib/hanzoai/models/argo_resource_status.rb +281 -0
  208. data/lib/hanzoai/models/argo_revision_metadata.rb +263 -0
  209. data/lib/hanzoai/models/argo_source.rb +241 -0
  210. data/lib/hanzoai/models/argo_spec.rb +241 -0
  211. data/lib/hanzoai/models/argo_status.rb +263 -0
  212. data/lib/hanzoai/models/argo_summary.rb +223 -0
  213. data/lib/hanzoai/models/argo_sync_status.rb +231 -0
  214. data/lib/hanzoai/models/argo_sync_windows.rb +245 -0
  215. data/lib/hanzoai/models/argo_tree.rb +247 -0
  216. data/lib/hanzoai/models/arm.rb +251 -0
  217. data/lib/hanzoai/models/ask_answer.rb +253 -0
  218. data/lib/hanzoai/models/ask_post_in.rb +231 -0
  219. data/lib/hanzoai/models/ask_request.rb +312 -0
  220. data/lib/hanzoai/models/ask_response.rb +257 -0
  221. data/lib/hanzoai/models/assignment.rb +261 -0
  222. data/lib/hanzoai/models/attribute_request.rb +221 -0
  223. data/lib/hanzoai/models/attribution.rb +251 -0
  224. data/lib/hanzoai/models/audience.rb +271 -0
  225. data/lib/hanzoai/models/audience_list.rb +223 -0
  226. data/lib/hanzoai/models/audience_preview.rb +283 -0
  227. data/lib/hanzoai/models/audit_list.rb +233 -0
  228. data/lib/hanzoai/models/author_repo.rb +271 -0
  229. data/lib/hanzoai/models/authored_plugin.rb +271 -0
  230. data/lib/hanzoai/models/authored_plugin_list.rb +223 -0
  231. data/lib/hanzoai/models/authored_skill_list.rb +223 -0
  232. data/lib/hanzoai/models/authorize_out.rb +221 -0
  233. data/lib/hanzoai/models/backend.rb +231 -0
  234. data/lib/hanzoai/models/backend_status.rb +261 -0
  235. data/lib/hanzoai/models/balance_line.rb +251 -0
  236. data/lib/hanzoai/models/balance_sheet.rb +297 -0
  237. data/lib/hanzoai/models/balances.rb +241 -0
  238. data/lib/hanzoai/models/bank_question.rb +261 -0
  239. data/lib/hanzoai/models/bank_tally.rb +271 -0
  240. data/lib/hanzoai/models/bank_txn_row.rb +311 -0
  241. data/lib/hanzoai/models/base_health.rb +231 -0
  242. data/lib/hanzoai/models/base_view.rb +241 -0
  243. data/lib/hanzoai/models/begin_in.rb +251 -0
  244. data/lib/hanzoai/models/benchmark.rb +271 -0
  245. data/lib/hanzoai/models/benchmark_catalog.rb +233 -0
  246. data/lib/hanzoai/models/billing_account.rb +275 -0
  247. data/lib/hanzoai/models/billing_invoice.rb +439 -0
  248. data/lib/hanzoai/models/binary_spec.rb +283 -0
  249. data/lib/hanzoai/models/bind_agent_req.rb +241 -0
  250. data/lib/hanzoai/models/binding_list.rb +223 -0
  251. data/lib/hanzoai/models/blob.rb +253 -0
  252. data/lib/hanzoai/models/blob_json.rb +271 -0
  253. data/lib/hanzoai/models/blog.rb +261 -0
  254. data/lib/hanzoai/models/blueprint.rb +311 -0
  255. data/lib/hanzoai/models/blueprint_counts.rb +261 -0
  256. data/lib/hanzoai/models/blueprint_health.rb +251 -0
  257. data/lib/hanzoai/models/blueprint_index.rb +223 -0
  258. data/lib/hanzoai/models/blueprint_row.rb +241 -0
  259. data/lib/hanzoai/models/blueprint_versions_view.rb +233 -0
  260. data/lib/hanzoai/models/blueprint_view.rb +251 -0
  261. data/lib/hanzoai/models/board.rb +285 -0
  262. data/lib/hanzoai/models/board_item.rb +271 -0
  263. data/lib/hanzoai/models/board_page.rb +233 -0
  264. data/lib/hanzoai/models/board_point.rb +261 -0
  265. data/lib/hanzoai/models/board_range.rb +251 -0
  266. data/lib/hanzoai/models/board_resp.rb +315 -0
  267. data/lib/hanzoai/models/board_scope.rb +241 -0
  268. data/lib/hanzoai/models/board_totals.rb +301 -0
  269. data/lib/hanzoai/models/book_request.rb +241 -0
  270. data/lib/hanzoai/models/book_response.rb +231 -0
  271. data/lib/hanzoai/models/bot_list.rb +223 -0
  272. data/lib/hanzoai/models/bot_member.rb +261 -0
  273. data/lib/hanzoai/models/bot_roster.rb +223 -0
  274. data/lib/hanzoai/models/bot_run.rb +271 -0
  275. data/lib/hanzoai/models/bot_runs.rb +223 -0
  276. data/lib/hanzoai/models/bot_stopped.rb +231 -0
  277. data/lib/hanzoai/models/bot_sync.rb +231 -0
  278. data/lib/hanzoai/models/bot_view.rb +357 -0
  279. data/lib/hanzoai/models/breakdown.rb +253 -0
  280. data/lib/hanzoai/models/breakdown_row.rb +251 -0
  281. data/lib/hanzoai/models/browser_tag_out.rb +238 -0
  282. data/lib/hanzoai/models/bucket_create_in.rb +221 -0
  283. data/lib/hanzoai/models/bucket_in.rb +221 -0
  284. data/lib/hanzoai/models/bucket_item.rb +231 -0
  285. data/lib/hanzoai/models/bucket_list.rb +233 -0
  286. data/lib/hanzoai/models/bucket_record.rb +251 -0
  287. data/lib/hanzoai/models/bucket_write.rb +251 -0
  288. data/lib/hanzoai/models/build_board.rb +223 -0
  289. data/lib/hanzoai/models/build_list.rb +223 -0
  290. data/lib/hanzoai/models/build_out.rb +241 -0
  291. data/lib/hanzoai/models/build_request.rb +251 -0
  292. data/lib/hanzoai/models/build_row.rb +271 -0
  293. data/lib/hanzoai/models/build_summary.rb +311 -0
  294. data/lib/hanzoai/models/build_turn.rb +281 -0
  295. data/lib/hanzoai/models/build_view.rb +333 -0
  296. data/lib/hanzoai/models/bus_ack.rb +251 -0
  297. data/lib/hanzoai/models/bus_message.rb +263 -0
  298. data/lib/hanzoai/models/bus_publish.rb +243 -0
  299. data/lib/hanzoai/models/bus_request.rb +253 -0
  300. data/lib/hanzoai/models/buy_input.rb +221 -0
  301. data/lib/hanzoai/models/byo_gpu.rb +251 -0
  302. data/lib/hanzoai/models/byo_worker.rb +425 -0
  303. data/lib/hanzoai/models/calendar_post.rb +311 -0
  304. data/lib/hanzoai/models/call.rb +271 -0
  305. data/lib/hanzoai/models/call_input.rb +261 -0
  306. data/lib/hanzoai/models/call_list.rb +223 -0
  307. data/lib/hanzoai/models/campaign.rb +311 -0
  308. data/lib/hanzoai/models/campaign_input.rb +281 -0
  309. data/lib/hanzoai/models/campaign_list.rb +223 -0
  310. data/lib/hanzoai/models/campaign_page.rb +223 -0
  311. data/lib/hanzoai/models/campaign_record.rb +315 -0
  312. data/lib/hanzoai/models/campaign_results.rb +413 -0
  313. data/lib/hanzoai/models/campaign_summary.rb +253 -0
  314. data/lib/hanzoai/models/campaign_update.rb +279 -0
  315. data/lib/hanzoai/models/campaign_write.rb +275 -0
  316. data/lib/hanzoai/models/cap_verdict.rb +256 -0
  317. data/lib/hanzoai/models/capabilities.rb +261 -0
  318. data/lib/hanzoai/models/capability.rb +247 -0
  319. data/lib/hanzoai/models/captable_class_holding.rb +261 -0
  320. data/lib/hanzoai/models/captable_company.rb +291 -0
  321. data/lib/hanzoai/models/captable_company_update.rb +251 -0
  322. data/lib/hanzoai/models/captable_convertible_in.rb +321 -0
  323. data/lib/hanzoai/models/captable_convertibles.rb +231 -0
  324. data/lib/hanzoai/models/captable_created.rb +241 -0
  325. data/lib/hanzoai/models/captable_deleted.rb +221 -0
  326. data/lib/hanzoai/models/captable_equity_plan.rb +301 -0
  327. data/lib/hanzoai/models/captable_equity_plan_in.rb +281 -0
  328. data/lib/hanzoai/models/captable_equity_plans.rb +223 -0
  329. data/lib/hanzoai/models/captable_holding.rb +271 -0
  330. data/lib/hanzoai/models/captable_instrument_total.rb +231 -0
  331. data/lib/hanzoai/models/captable_invested.rb +251 -0
  332. data/lib/hanzoai/models/captable_investment.rb +291 -0
  333. data/lib/hanzoai/models/captable_investment_in.rb +261 -0
  334. data/lib/hanzoai/models/captable_investments.rb +223 -0
  335. data/lib/hanzoai/models/captable_note.rb +321 -0
  336. data/lib/hanzoai/models/captable_notes.rb +223 -0
  337. data/lib/hanzoai/models/captable_option.rb +351 -0
  338. data/lib/hanzoai/models/captable_option_in.rb +361 -0
  339. data/lib/hanzoai/models/captable_options.rb +223 -0
  340. data/lib/hanzoai/models/captable_round.rb +321 -0
  341. data/lib/hanzoai/models/captable_round_close_request.rb +231 -0
  342. data/lib/hanzoai/models/captable_round_detail.rb +233 -0
  343. data/lib/hanzoai/models/captable_round_in.rb +271 -0
  344. data/lib/hanzoai/models/captable_round_investment.rb +281 -0
  345. data/lib/hanzoai/models/captable_round_totals.rb +231 -0
  346. data/lib/hanzoai/models/captable_rounds.rb +223 -0
  347. data/lib/hanzoai/models/captable_safe.rb +331 -0
  348. data/lib/hanzoai/models/captable_safe_in.rb +311 -0
  349. data/lib/hanzoai/models/captable_safes.rb +223 -0
  350. data/lib/hanzoai/models/captable_share.rb +343 -0
  351. data/lib/hanzoai/models/captable_share_class.rb +351 -0
  352. data/lib/hanzoai/models/captable_share_class_amend.rb +351 -0
  353. data/lib/hanzoai/models/captable_share_class_in.rb +341 -0
  354. data/lib/hanzoai/models/captable_share_in.rb +383 -0
  355. data/lib/hanzoai/models/captable_share_transfer.rb +251 -0
  356. data/lib/hanzoai/models/captable_shares.rb +223 -0
  357. data/lib/hanzoai/models/captable_stakeholder.rb +351 -0
  358. data/lib/hanzoai/models/captable_stakeholder_patch.rb +321 -0
  359. data/lib/hanzoai/models/captable_summary.rb +275 -0
  360. data/lib/hanzoai/models/captable_summary_company.rb +231 -0
  361. data/lib/hanzoai/models/captable_totals.rb +261 -0
  362. data/lib/hanzoai/models/captable_transferred.rb +251 -0
  363. data/lib/hanzoai/models/captable_updated.rb +231 -0
  364. data/lib/hanzoai/models/capture_batch.rb +233 -0
  365. data/lib/hanzoai/models/capture_event.rb +564 -0
  366. data/lib/hanzoai/models/capture_result.rb +229 -0
  367. data/lib/hanzoai/models/captured_error.rb +331 -0
  368. data/lib/hanzoai/models/cart.rb +373 -0
  369. data/lib/hanzoai/models/cart_item.rb +281 -0
  370. data/lib/hanzoai/models/cart_item_set.rb +251 -0
  371. data/lib/hanzoai/models/cart_open.rb +251 -0
  372. data/lib/hanzoai/models/catalog.rb +231 -0
  373. data/lib/hanzoai/models/catalog_entry.rb +261 -0
  374. data/lib/hanzoai/models/catalog_list.rb +223 -0
  375. data/lib/hanzoai/models/catalog_out.rb +223 -0
  376. data/lib/hanzoai/models/catalog_page.rb +245 -0
  377. data/lib/hanzoai/models/category.rb +285 -0
  378. data/lib/hanzoai/models/category_in.rb +263 -0
  379. data/lib/hanzoai/models/category_spend.rb +241 -0
  380. data/lib/hanzoai/models/cd_app.rb +340 -0
  381. data/lib/hanzoai/models/cd_resp.rb +222 -0
  382. data/lib/hanzoai/models/centre.rb +367 -0
  383. data/lib/hanzoai/models/chain.rb +241 -0
  384. data/lib/hanzoai/models/chain_list.rb +223 -0
  385. data/lib/hanzoai/models/chain_status.rb +258 -0
  386. data/lib/hanzoai/models/challenge_view.rb +261 -0
  387. data/lib/hanzoai/models/channel.rb +251 -0
  388. data/lib/hanzoai/models/channel_add.rb +251 -0
  389. data/lib/hanzoai/models/channel_list.rb +223 -0
  390. data/lib/hanzoai/models/channel_metric.rb +271 -0
  391. data/lib/hanzoai/models/channel_result.rb +261 -0
  392. data/lib/hanzoai/models/channel_spec.rb +271 -0
  393. data/lib/hanzoai/models/channel_view.rb +291 -0
  394. data/lib/hanzoai/models/charge.rb +291 -0
  395. data/lib/hanzoai/models/charged.rb +261 -0
  396. data/lib/hanzoai/models/chat_channels.rb +223 -0
  397. data/lib/hanzoai/models/chat_request.rb +221 -0
  398. data/lib/hanzoai/models/chat_response.rb +243 -0
  399. data/lib/hanzoai/models/check_list.rb +233 -0
  400. data/lib/hanzoai/models/check_view.rb +311 -0
  401. data/lib/hanzoai/models/citation.rb +261 -0
  402. data/lib/hanzoai/models/claim.rb +241 -0
  403. data/lib/hanzoai/models/claim_key_out.rb +231 -0
  404. data/lib/hanzoai/models/claim_request.rb +221 -0
  405. data/lib/hanzoai/models/claim_row.rb +301 -0
  406. data/lib/hanzoai/models/claim_view.rb +261 -0
  407. data/lib/hanzoai/models/claims_out.rb +233 -0
  408. data/lib/hanzoai/models/clause_coverage.rb +363 -0
  409. data/lib/hanzoai/models/clause_row.rb +263 -0
  410. data/lib/hanzoai/models/clear_reference_out.rb +251 -0
  411. data/lib/hanzoai/models/click_count.rb +221 -0
  412. data/lib/hanzoai/models/click_request.rb +221 -0
  413. data/lib/hanzoai/models/clip_body.rb +238 -0
  414. data/lib/hanzoai/models/cluster_attach.rb +251 -0
  415. data/lib/hanzoai/models/cluster_detached.rb +221 -0
  416. data/lib/hanzoai/models/cluster_detail_view.rb +333 -0
  417. data/lib/hanzoai/models/cluster_list.rb +235 -0
  418. data/lib/hanzoai/models/cluster_view.rb +333 -0
  419. data/lib/hanzoai/models/code_file.rb +251 -0
  420. data/lib/hanzoai/models/code_result.rb +253 -0
  421. data/lib/hanzoai/models/code_run.rb +319 -0
  422. data/lib/hanzoai/models/code_view.rb +281 -0
  423. data/lib/hanzoai/models/coding_start_in.rb +331 -0
  424. data/lib/hanzoai/models/coding_started.rb +261 -0
  425. data/lib/hanzoai/models/collab_payload.rb +245 -0
  426. data/lib/hanzoai/models/collab_request.rb +241 -0
  427. data/lib/hanzoai/models/collab_result.rb +233 -0
  428. data/lib/hanzoai/models/collected.rb +281 -0
  429. data/lib/hanzoai/models/commerce_overview.rb +271 -0
  430. data/lib/hanzoai/models/commit_json.rb +271 -0
  431. data/lib/hanzoai/models/commits_json.rb +223 -0
  432. data/lib/hanzoai/models/company.rb +341 -0
  433. data/lib/hanzoai/models/company_list.rb +223 -0
  434. data/lib/hanzoai/models/company_req.rb +321 -0
  435. data/lib/hanzoai/models/completion.rb +241 -0
  436. data/lib/hanzoai/models/config.rb +303 -0
  437. data/lib/hanzoai/models/conn_view.rb +293 -0
  438. data/lib/hanzoai/models/connect_in.rb +241 -0
  439. data/lib/hanzoai/models/connect_out.rb +273 -0
  440. data/lib/hanzoai/models/connect_request.rb +241 -0
  441. data/lib/hanzoai/models/connection_out.rb +241 -0
  442. data/lib/hanzoai/models/connection_view.rb +253 -0
  443. data/lib/hanzoai/models/connector_action.rb +249 -0
  444. data/lib/hanzoai/models/connector_auth.rb +229 -0
  445. data/lib/hanzoai/models/connector_metadata.rb +298 -0
  446. data/lib/hanzoai/models/connector_provider_view.rb +275 -0
  447. data/lib/hanzoai/models/connector_providers_out.rb +223 -0
  448. data/lib/hanzoai/models/connector_token_out.rb +251 -0
  449. data/lib/hanzoai/models/connector_trigger.rb +258 -0
  450. data/lib/hanzoai/models/connector_view.rb +291 -0
  451. data/lib/hanzoai/models/connectors_out.rb +223 -0
  452. data/lib/hanzoai/models/console_settings.rb +371 -0
  453. data/lib/hanzoai/models/console_settings_dex_config.rb +223 -0
  454. data/lib/hanzoai/models/console_settings_google_analytics.rb +230 -0
  455. data/lib/hanzoai/models/console_settings_help.rb +241 -0
  456. data/lib/hanzoai/models/consumer.rb +311 -0
  457. data/lib/hanzoai/models/contact.rb +331 -0
  458. data/lib/hanzoai/models/contact_list.rb +223 -0
  459. data/lib/hanzoai/models/contact_req.rb +311 -0
  460. data/lib/hanzoai/models/contacts.rb +251 -0
  461. data/lib/hanzoai/models/context_bundle.rb +263 -0
  462. data/lib/hanzoai/models/context_in.rb +241 -0
  463. data/lib/hanzoai/models/control_command_view.rb +251 -0
  464. data/lib/hanzoai/models/control_drain.rb +233 -0
  465. data/lib/hanzoai/models/control_in.rb +241 -0
  466. data/lib/hanzoai/models/control_list.rb +293 -0
  467. data/lib/hanzoai/models/control_result.rb +241 -0
  468. data/lib/hanzoai/models/cookie_ack.rb +221 -0
  469. data/lib/hanzoai/models/corpus_view.rb +243 -0
  470. data/lib/hanzoai/models/cost_line.rb +233 -0
  471. data/lib/hanzoai/models/cover_row.rb +331 -0
  472. data/lib/hanzoai/models/crawl_document.rb +251 -0
  473. data/lib/hanzoai/models/crawl_request.rb +221 -0
  474. data/lib/hanzoai/models/crawl_result.rb +241 -0
  475. data/lib/hanzoai/models/create_account_in.rb +221 -0
  476. data/lib/hanzoai/models/create_agent_in.rb +303 -0
  477. data/lib/hanzoai/models/create_app_req.rb +365 -0
  478. data/lib/hanzoai/models/create_body.rb +334 -0
  479. data/lib/hanzoai/models/create_cluster_req.rb +250 -0
  480. data/lib/hanzoai/models/create_cluster_req_node_pool.rb +239 -0
  481. data/lib/hanzoai/models/create_endpoint_in.rb +253 -0
  482. data/lib/hanzoai/models/create_flow_req.rb +251 -0
  483. data/lib/hanzoai/models/create_link_request.rb +231 -0
  484. data/lib/hanzoai/models/create_req.rb +251 -0
  485. data/lib/hanzoai/models/create_server_req.rb +261 -0
  486. data/lib/hanzoai/models/create_version_in.rb +241 -0
  487. data/lib/hanzoai/models/create_wallet_in.rb +271 -0
  488. data/lib/hanzoai/models/credential_in.rb +261 -0
  489. data/lib/hanzoai/models/credential_out.rb +231 -0
  490. data/lib/hanzoai/models/credit_balance.rb +231 -0
  491. data/lib/hanzoai/models/credit_entry.rb +229 -0
  492. data/lib/hanzoai/models/credit_grant.rb +328 -0
  493. data/lib/hanzoai/models/credit_grants.rb +231 -0
  494. data/lib/hanzoai/models/crm_summary.rb +241 -0
  495. data/lib/hanzoai/models/crypto_asset.rb +241 -0
  496. data/lib/hanzoai/models/crypto_deposit.rb +274 -0
  497. data/lib/hanzoai/models/crypto_options.rb +233 -0
  498. data/lib/hanzoai/models/csrf_resp.rb +231 -0
  499. data/lib/hanzoai/models/curate_req.rb +261 -0
  500. data/lib/hanzoai/models/curriculum.rb +243 -0
  501. data/lib/hanzoai/models/curriculum_view.rb +231 -0
  502. data/lib/hanzoai/models/d1_query.rb +233 -0
  503. data/lib/hanzoai/models/dash_resp.rb +315 -0
  504. data/lib/hanzoai/models/database_create_in.rb +221 -0
  505. data/lib/hanzoai/models/dataroom_add_document.rb +241 -0
  506. data/lib/hanzoai/models/dataroom_create.rb +231 -0
  507. data/lib/hanzoai/models/dataroom_document.rb +301 -0
  508. data/lib/hanzoai/models/dataroom_document_one.rb +221 -0
  509. data/lib/hanzoai/models/dataroom_documents.rb +223 -0
  510. data/lib/hanzoai/models/dataroom_link.rb +355 -0
  511. data/lib/hanzoai/models/dataroom_link_create.rb +305 -0
  512. data/lib/hanzoai/models/dataroom_link_one.rb +221 -0
  513. data/lib/hanzoai/models/dataroom_link_stats.rb +253 -0
  514. data/lib/hanzoai/models/dataroom_links.rb +223 -0
  515. data/lib/hanzoai/models/dataroom_liveness.rb +231 -0
  516. data/lib/hanzoai/models/dataroom_member.rb +321 -0
  517. data/lib/hanzoai/models/dataroom_membership.rb +241 -0
  518. data/lib/hanzoai/models/dataroom_page_stat.rb +251 -0
  519. data/lib/hanzoai/models/dataroom_room.rb +271 -0
  520. data/lib/hanzoai/models/dataroom_room_detail.rb +283 -0
  521. data/lib/hanzoai/models/dataroom_room_detail_one.rb +221 -0
  522. data/lib/hanzoai/models/dataroom_room_one.rb +221 -0
  523. data/lib/hanzoai/models/dataroom_rooms.rb +223 -0
  524. data/lib/hanzoai/models/dataroom_stats.rb +253 -0
  525. data/lib/hanzoai/models/dataset_list.rb +223 -0
  526. data/lib/hanzoai/models/dataset_req.rb +260 -0
  527. data/lib/hanzoai/models/dataset_view.rb +273 -0
  528. data/lib/hanzoai/models/decide_body.rb +238 -0
  529. data/lib/hanzoai/models/decision_in.rb +231 -0
  530. data/lib/hanzoai/models/deck_out.rb +220 -0
  531. data/lib/hanzoai/models/declaration.rb +334 -0
  532. data/lib/hanzoai/models/declare_env.rb +239 -0
  533. data/lib/hanzoai/models/declared.rb +332 -0
  534. data/lib/hanzoai/models/declared_resp.rb +241 -0
  535. data/lib/hanzoai/models/def_row.rb +261 -0
  536. data/lib/hanzoai/models/definition.rb +340 -0
  537. data/lib/hanzoai/models/defs_out.rb +223 -0
  538. data/lib/hanzoai/models/deleted.rb +221 -0
  539. data/lib/hanzoai/models/deleted_out.rb +221 -0
  540. data/lib/hanzoai/models/delivery.rb +283 -0
  541. data/lib/hanzoai/models/delivery_list.rb +223 -0
  542. data/lib/hanzoai/models/delivery_row.rb +301 -0
  543. data/lib/hanzoai/models/deploy_health.rb +251 -0
  544. data/lib/hanzoai/models/deploy_logs.rb +241 -0
  545. data/lib/hanzoai/models/deploy_record.rb +271 -0
  546. data/lib/hanzoai/models/deploy_req.rb +251 -0
  547. data/lib/hanzoai/models/deploy_request.rb +231 -0
  548. data/lib/hanzoai/models/deployment_view.rb +331 -0
  549. data/lib/hanzoai/models/destination_disconnected.rb +221 -0
  550. data/lib/hanzoai/models/destination_field.rb +251 -0
  551. data/lib/hanzoai/models/destination_list.rb +223 -0
  552. data/lib/hanzoai/models/destination_status.rb +327 -0
  553. data/lib/hanzoai/models/destination_test.rb +251 -0
  554. data/lib/hanzoai/models/detachment.rb +231 -0
  555. data/lib/hanzoai/models/device_poll_out.rb +241 -0
  556. data/lib/hanzoai/models/device_start_in.rb +231 -0
  557. data/lib/hanzoai/models/device_start_out.rb +261 -0
  558. data/lib/hanzoai/models/device_view.rb +273 -0
  559. data/lib/hanzoai/models/diagnostic.rb +261 -0
  560. data/lib/hanzoai/models/disconnect_out.rb +221 -0
  561. data/lib/hanzoai/models/doc_field.rb +310 -0
  562. data/lib/hanzoai/models/doc_perm.rb +274 -0
  563. data/lib/hanzoai/models/doc_row.rb +311 -0
  564. data/lib/hanzoai/models/doc_type.rb +305 -0
  565. data/lib/hanzoai/models/doc_type_list.rb +223 -0
  566. data/lib/hanzoai/models/document_list.rb +223 -0
  567. data/lib/hanzoai/models/document_page.rb +233 -0
  568. data/lib/hanzoai/models/document_reply.rb +231 -0
  569. data/lib/hanzoai/models/document_summary.rb +311 -0
  570. data/lib/hanzoai/models/document_view.rb +321 -0
  571. data/lib/hanzoai/models/domain_add_in.rb +231 -0
  572. data/lib/hanzoai/models/domain_view.rb +303 -0
  573. data/lib/hanzoai/models/drift_board.rb +233 -0
  574. data/lib/hanzoai/models/drift_flag.rb +241 -0
  575. data/lib/hanzoai/models/drift_tally.rb +241 -0
  576. data/lib/hanzoai/models/dropped.rb +241 -0
  577. data/lib/hanzoai/models/durable.rb +321 -0
  578. data/lib/hanzoai/models/edge_state.rb +285 -0
  579. data/lib/hanzoai/models/ein.rb +283 -0
  580. data/lib/hanzoai/models/ein_in.rb +241 -0
  581. data/lib/hanzoai/models/embed_status_resp.rb +271 -0
  582. data/lib/hanzoai/models/enable_resp.rb +251 -0
  583. data/lib/hanzoai/models/enablement_board.rb +245 -0
  584. data/lib/hanzoai/models/enablement_opt_ref.rb +231 -0
  585. data/lib/hanzoai/models/end_in.rb +231 -0
  586. data/lib/hanzoai/models/endpoint.rb +323 -0
  587. data/lib/hanzoai/models/endpoint_list.rb +223 -0
  588. data/lib/hanzoai/models/endpoint_req.rb +241 -0
  589. data/lib/hanzoai/models/endpoint_view.rb +241 -0
  590. data/lib/hanzoai/models/engine_advertisement.rb +255 -0
  591. data/lib/hanzoai/models/engine_status.rb +231 -0
  592. data/lib/hanzoai/models/enroll_input.rb +251 -0
  593. data/lib/hanzoai/models/enroll_req.rb +291 -0
  594. data/lib/hanzoai/models/enroll_result.rb +251 -0
  595. data/lib/hanzoai/models/enrollment.rb +301 -0
  596. data/lib/hanzoai/models/enrollment_list.rb +223 -0
  597. data/lib/hanzoai/models/enrolment.rb +301 -0
  598. data/lib/hanzoai/models/entitlements_view.rb +223 -0
  599. data/lib/hanzoai/models/entry.rb +401 -0
  600. data/lib/hanzoai/models/env_var_json.rb +241 -0
  601. data/lib/hanzoai/models/environment_board.rb +223 -0
  602. data/lib/hanzoai/models/environment_row.rb +273 -0
  603. data/lib/hanzoai/models/error_list.rb +223 -0
  604. data/lib/hanzoai/models/esign_complete_in.rb +221 -0
  605. data/lib/hanzoai/models/esign_completion.rb +241 -0
  606. data/lib/hanzoai/models/esign_document.rb +345 -0
  607. data/lib/hanzoai/models/esign_documents.rb +223 -0
  608. data/lib/hanzoai/models/esign_event.rb +271 -0
  609. data/lib/hanzoai/models/esign_field.rb +321 -0
  610. data/lib/hanzoai/models/esign_field_in.rb +291 -0
  611. data/lib/hanzoai/models/esign_health.rb +231 -0
  612. data/lib/hanzoai/models/esign_insertion.rb +231 -0
  613. data/lib/hanzoai/models/esign_invite.rb +261 -0
  614. data/lib/hanzoai/models/esign_link.rb +261 -0
  615. data/lib/hanzoai/models/esign_links.rb +243 -0
  616. data/lib/hanzoai/models/esign_out.rb +241 -0
  617. data/lib/hanzoai/models/esign_pdf.rb +261 -0
  618. data/lib/hanzoai/models/esign_placement.rb +251 -0
  619. data/lib/hanzoai/models/esign_recipient.rb +311 -0
  620. data/lib/hanzoai/models/esign_recipient_in.rb +251 -0
  621. data/lib/hanzoai/models/esign_reject_in.rb +221 -0
  622. data/lib/hanzoai/models/esign_rejection.rb +231 -0
  623. data/lib/hanzoai/models/esign_session.rb +253 -0
  624. data/lib/hanzoai/models/esign_signer.rb +261 -0
  625. data/lib/hanzoai/models/esign_state.rb +241 -0
  626. data/lib/hanzoai/models/esign_trail.rb +233 -0
  627. data/lib/hanzoai/models/esign_upload_in.rb +271 -0
  628. data/lib/hanzoai/models/esign_value_in.rb +231 -0
  629. data/lib/hanzoai/models/evaluate_in.rb +241 -0
  630. data/lib/hanzoai/models/evaluator_list.rb +223 -0
  631. data/lib/hanzoai/models/evaluator_req.rb +268 -0
  632. data/lib/hanzoai/models/evaluator_view.rb +271 -0
  633. data/lib/hanzoai/models/event.rb +258 -0
  634. data/lib/hanzoai/models/event_in.rb +251 -0
  635. data/lib/hanzoai/models/event_list.rb +223 -0
  636. data/lib/hanzoai/models/event_view.rb +281 -0
  637. data/lib/hanzoai/models/exception.rb +258 -0
  638. data/lib/hanzoai/models/exec_request.rb +273 -0
  639. data/lib/hanzoai/models/exec_result.rb +241 -0
  640. data/lib/hanzoai/models/experiment_list.rb +233 -0
  641. data/lib/hanzoai/models/extracted.rb +293 -0
  642. data/lib/hanzoai/models/faq_list.rb +223 -0
  643. data/lib/hanzoai/models/field.rb +231 -0
  644. data/lib/hanzoai/models/figure.rb +241 -0
  645. data/lib/hanzoai/models/file_content.rb +251 -0
  646. data/lib/hanzoai/models/file_input.rb +231 -0
  647. data/lib/hanzoai/models/file_json.rb +261 -0
  648. data/lib/hanzoai/models/files_json.rb +233 -0
  649. data/lib/hanzoai/models/filing.rb +261 -0
  650. data/lib/hanzoai/models/filing_page.rb +233 -0
  651. data/lib/hanzoai/models/filing_reply.rb +231 -0
  652. data/lib/hanzoai/models/filing_request.rb +233 -0
  653. data/lib/hanzoai/models/filters.rb +247 -0
  654. data/lib/hanzoai/models/finance_ledger_entry.rb +274 -0
  655. data/lib/hanzoai/models/financial_package.rb +293 -0
  656. data/lib/hanzoai/models/finding_list.rb +223 -0
  657. data/lib/hanzoai/models/finding_view.rb +311 -0
  658. data/lib/hanzoai/models/fleet_board.rb +223 -0
  659. data/lib/hanzoai/models/fleet_metrics.rb +261 -0
  660. data/lib/hanzoai/models/fleet_spec.rb +271 -0
  661. data/lib/hanzoai/models/fleet_summary.rb +231 -0
  662. data/lib/hanzoai/models/fleet_unit.rb +321 -0
  663. data/lib/hanzoai/models/flow.rb +294 -0
  664. data/lib/hanzoai/models/flow_action.rb +275 -0
  665. data/lib/hanzoai/models/flow_create.rb +241 -0
  666. data/lib/hanzoai/models/flow_page.rb +223 -0
  667. data/lib/hanzoai/models/flow_run.rb +251 -0
  668. data/lib/hanzoai/models/flow_status.rb +231 -0
  669. data/lib/hanzoai/models/flow_trigger.rb +275 -0
  670. data/lib/hanzoai/models/flow_update.rb +261 -0
  671. data/lib/hanzoai/models/flow_version.rb +292 -0
  672. data/lib/hanzoai/models/fn_list.rb +223 -0
  673. data/lib/hanzoai/models/form.rb +251 -0
  674. data/lib/hanzoai/models/formation.rb +407 -0
  675. data/lib/hanzoai/models/formation_view.rb +233 -0
  676. data/lib/hanzoai/models/founder.rb +271 -0
  677. data/lib/hanzoai/models/founders_in.rb +223 -0
  678. data/lib/hanzoai/models/frame.rb +247 -0
  679. data/lib/hanzoai/models/framework_list.rb +223 -0
  680. data/lib/hanzoai/models/framework_row.rb +281 -0
  681. data/lib/hanzoai/models/function_detail.rb +391 -0
  682. data/lib/hanzoai/models/function_view.rb +371 -0
  683. data/lib/hanzoai/models/funnel.rb +281 -0
  684. data/lib/hanzoai/models/fusion.rb +265 -0
  685. data/lib/hanzoai/models/gc_out.rb +241 -0
  686. data/lib/hanzoai/models/generate_input.rb +331 -0
  687. data/lib/hanzoai/models/generate_request.rb +233 -0
  688. data/lib/hanzoai/models/generate_result.rb +241 -0
  689. data/lib/hanzoai/models/genesis.rb +281 -0
  690. data/lib/hanzoai/models/git_ops_app.rb +363 -0
  691. data/lib/hanzoai/models/git_ops_deploy.rb +261 -0
  692. data/lib/hanzoai/models/git_ops_operation.rb +261 -0
  693. data/lib/hanzoai/models/git_ops_plane.rb +243 -0
  694. data/lib/hanzoai/models/git_origin.rb +231 -0
  695. data/lib/hanzoai/models/git_source.rb +241 -0
  696. data/lib/hanzoai/models/github_backfill_in.rb +221 -0
  697. data/lib/hanzoai/models/github_backfill_result.rb +271 -0
  698. data/lib/hanzoai/models/github_claim_in.rb +233 -0
  699. data/lib/hanzoai/models/github_claim_out.rb +235 -0
  700. data/lib/hanzoai/models/github_fork_out.rb +261 -0
  701. data/lib/hanzoai/models/github_fork_req.rb +231 -0
  702. data/lib/hanzoai/models/github_import_in.rb +233 -0
  703. data/lib/hanzoai/models/github_import_out.rb +233 -0
  704. data/lib/hanzoai/models/github_installation_view.rb +261 -0
  705. data/lib/hanzoai/models/github_installations_out.rb +233 -0
  706. data/lib/hanzoai/models/github_pages_build_out.rb +241 -0
  707. data/lib/hanzoai/models/github_pages_disabled_out.rb +231 -0
  708. data/lib/hanzoai/models/github_pages_enable_req.rb +251 -0
  709. data/lib/hanzoai/models/github_pages_source.rb +231 -0
  710. data/lib/hanzoai/models/github_pages_update_req.rb +271 -0
  711. data/lib/hanzoai/models/github_pages_updated_out.rb +231 -0
  712. data/lib/hanzoai/models/github_pages_view.rb +291 -0
  713. data/lib/hanzoai/models/github_repo_view.rb +291 -0
  714. data/lib/hanzoai/models/github_repos_out.rb +235 -0
  715. data/lib/hanzoai/models/github_search_hit.rb +291 -0
  716. data/lib/hanzoai/models/github_search_out.rb +233 -0
  717. data/lib/hanzoai/models/github_search_req.rb +231 -0
  718. data/lib/hanzoai/models/gitlab_project_view.rb +291 -0
  719. data/lib/hanzoai/models/gitlab_projects_out.rb +233 -0
  720. data/lib/hanzoai/models/gl_row.rb +301 -0
  721. data/lib/hanzoai/models/gpu.rb +241 -0
  722. data/lib/hanzoai/models/gpu_alert_list.rb +223 -0
  723. data/lib/hanzoai/models/gpu_job.rb +341 -0
  724. data/lib/hanzoai/models/gpu_list.rb +223 -0
  725. data/lib/hanzoai/models/gpu_view.rb +301 -0
  726. data/lib/hanzoai/models/graph_assert_in.rb +223 -0
  727. data/lib/hanzoai/models/graph_assert_out.rb +253 -0
  728. data/lib/hanzoai/models/graph_edge.rb +241 -0
  729. data/lib/hanzoai/models/graph_fact.rb +301 -0
  730. data/lib/hanzoai/models/graph_neighbors_in.rb +263 -0
  731. data/lib/hanzoai/models/graph_neighbors_out.rb +253 -0
  732. data/lib/hanzoai/models/graph_node.rb +261 -0
  733. data/lib/hanzoai/models/graph_out.rb +245 -0
  734. data/lib/hanzoai/models/graph_ql_error.rb +231 -0
  735. data/lib/hanzoai/models/graph_ql_out.rb +232 -0
  736. data/lib/hanzoai/models/graph_qlin.rb +239 -0
  737. data/lib/hanzoai/models/graph_read_out.rb +223 -0
  738. data/lib/hanzoai/models/graph_resolve_in.rb +241 -0
  739. data/lib/hanzoai/models/graph_resolve_out.rb +293 -0
  740. data/lib/hanzoai/models/graph_vocabulary_out.rb +245 -0
  741. data/lib/hanzoai/models/handle_request.rb +221 -0
  742. data/lib/hanzoai/models/handle_set.rb +221 -0
  743. data/lib/hanzoai/models/health.rb +231 -0
  744. data/lib/hanzoai/models/health_lens.rb +231 -0
  745. data/lib/hanzoai/models/health_lenses.rb +231 -0
  746. data/lib/hanzoai/models/health_out.rb +231 -0
  747. data/lib/hanzoai/models/health_plane.rb +251 -0
  748. data/lib/hanzoai/models/health_report.rb +291 -0
  749. data/lib/hanzoai/models/health_view.rb +231 -0
  750. data/lib/hanzoai/models/help_article.rb +271 -0
  751. data/lib/hanzoai/models/help_article_card.rb +261 -0
  752. data/lib/hanzoai/models/help_article_list.rb +223 -0
  753. data/lib/hanzoai/models/help_category.rb +231 -0
  754. data/lib/hanzoai/models/help_category_list.rb +223 -0
  755. data/lib/hanzoai/models/help_ticket_filed.rb +231 -0
  756. data/lib/hanzoai/models/help_ticket_intake.rb +251 -0
  757. data/lib/hanzoai/models/history_out.rb +243 -0
  758. data/lib/hanzoai/models/hit.rb +281 -0
  759. data/lib/hanzoai/models/holder.rb +256 -0
  760. data/lib/hanzoai/models/holding.rb +293 -0
  761. data/lib/hanzoai/models/holdings.rb +223 -0
  762. data/lib/hanzoai/models/iam_account_body.rb +247 -0
  763. data/lib/hanzoai/models/iam_account_item.rb +265 -0
  764. data/lib/hanzoai/models/iam_address.rb +274 -0
  765. data/lib/hanzoai/models/iam_answer.rb +283 -0
  766. data/lib/hanzoai/models/iam_application.rb +1048 -0
  767. data/lib/hanzoai/models/iam_application_list_result.rb +222 -0
  768. data/lib/hanzoai/models/iam_assume_body.rb +220 -0
  769. data/lib/hanzoai/models/iam_audit_log.rb +373 -0
  770. data/lib/hanzoai/models/iam_bulk.rb +238 -0
  771. data/lib/hanzoai/models/iam_cart_item.rb +256 -0
  772. data/lib/hanzoai/models/iam_cert.rb +391 -0
  773. data/lib/hanzoai/models/iam_certs_delete_output.rb +220 -0
  774. data/lib/hanzoai/models/iam_certs_list_output.rb +231 -0
  775. data/lib/hanzoai/models/iam_config.rb +296 -0
  776. data/lib/hanzoai/models/iam_consent_record.rb +231 -0
  777. data/lib/hanzoai/models/iam_create_input.rb +229 -0
  778. data/lib/hanzoai/models/iam_create_organization_input.rb +782 -0
  779. data/lib/hanzoai/models/iam_create_session_in.rb +309 -0
  780. data/lib/hanzoai/models/iam_delete_organization_output.rb +220 -0
  781. data/lib/hanzoai/models/iam_delete_output.rb +220 -0
  782. data/lib/hanzoai/models/iam_delete_response.rb +220 -0
  783. data/lib/hanzoai/models/iam_delete_result.rb +220 -0
  784. data/lib/hanzoai/models/iam_delete_session_out.rb +220 -0
  785. data/lib/hanzoai/models/iam_face_id.rb +240 -0
  786. data/lib/hanzoai/models/iam_filter.rb +229 -0
  787. data/lib/hanzoai/models/iam_input.rb +337 -0
  788. data/lib/hanzoai/models/iam_invitation.rb +391 -0
  789. data/lib/hanzoai/models/iam_invitations_delete_output.rb +220 -0
  790. data/lib/hanzoai/models/iam_invitations_input.rb +355 -0
  791. data/lib/hanzoai/models/iam_invitations_list_output.rb +231 -0
  792. data/lib/hanzoai/models/iam_jwt_item.rb +247 -0
  793. data/lib/hanzoai/models/iam_key.rb +400 -0
  794. data/lib/hanzoai/models/iam_list_organizations_output.rb +231 -0
  795. data/lib/hanzoai/models/iam_list_output.rb +231 -0
  796. data/lib/hanzoai/models/iam_list_providers_out.rb +222 -0
  797. data/lib/hanzoai/models/iam_list_response.rb +260 -0
  798. data/lib/hanzoai/models/iam_list_sessions_out.rb +222 -0
  799. data/lib/hanzoai/models/iam_list_tokens_out.rb +222 -0
  800. data/lib/hanzoai/models/iam_list_webauthn_credentials_out.rb +222 -0
  801. data/lib/hanzoai/models/iam_managed_account.rb +238 -0
  802. data/lib/hanzoai/models/iam_mfa_account.rb +238 -0
  803. data/lib/hanzoai/models/iam_mfa_item.rb +229 -0
  804. data/lib/hanzoai/models/iam_mfa_props.rb +265 -0
  805. data/lib/hanzoai/models/iam_mutation_result.rb +229 -0
  806. data/lib/hanzoai/models/iam_organization.rb +786 -0
  807. data/lib/hanzoai/models/iam_password_body.rb +261 -0
  808. data/lib/hanzoai/models/iam_permission.rb +444 -0
  809. data/lib/hanzoai/models/iam_permission_delete_response.rb +220 -0
  810. data/lib/hanzoai/models/iam_permission_list_response.rb +222 -0
  811. data/lib/hanzoai/models/iam_person.rb +283 -0
  812. data/lib/hanzoai/models/iam_project.rb +339 -0
  813. data/lib/hanzoai/models/iam_projects_delete_output.rb +220 -0
  814. data/lib/hanzoai/models/iam_projects_input.rb +303 -0
  815. data/lib/hanzoai/models/iam_projects_list_output.rb +231 -0
  816. data/lib/hanzoai/models/iam_provider.rb +647 -0
  817. data/lib/hanzoai/models/iam_provider_item.rb +314 -0
  818. data/lib/hanzoai/models/iam_provider_result.rb +220 -0
  819. data/lib/hanzoai/models/iam_registration.rb +336 -0
  820. data/lib/hanzoai/models/iam_reply.rb +247 -0
  821. data/lib/hanzoai/models/iam_role.rb +345 -0
  822. data/lib/hanzoai/models/iam_roles_delete_output.rb +220 -0
  823. data/lib/hanzoai/models/iam_roles_input.rb +309 -0
  824. data/lib/hanzoai/models/iam_roles_list_output.rb +231 -0
  825. data/lib/hanzoai/models/iam_saml_item.rb +238 -0
  826. data/lib/hanzoai/models/iam_scheme.rb +247 -0
  827. data/lib/hanzoai/models/iam_scope_description.rb +238 -0
  828. data/lib/hanzoai/models/iam_scope_item.rb +249 -0
  829. data/lib/hanzoai/models/iam_session.rb +304 -0
  830. data/lib/hanzoai/models/iam_set_avatar_input.rb +247 -0
  831. data/lib/hanzoai/models/iam_signin_item.rb +274 -0
  832. data/lib/hanzoai/models/iam_signin_method.rb +238 -0
  833. data/lib/hanzoai/models/iam_signup_item.rb +312 -0
  834. data/lib/hanzoai/models/iam_theme_data.rb +256 -0
  835. data/lib/hanzoai/models/iam_toggle.rb +220 -0
  836. data/lib/hanzoai/models/iam_token.rb +486 -0
  837. data/lib/hanzoai/models/iam_token_mutation.rb +229 -0
  838. data/lib/hanzoai/models/iam_token_result.rb +220 -0
  839. data/lib/hanzoai/models/iam_update_input.rb +229 -0
  840. data/lib/hanzoai/models/iam_update_organization_input.rb +782 -0
  841. data/lib/hanzoai/models/iam_update_session_in.rb +300 -0
  842. data/lib/hanzoai/models/iam_user.rb +1936 -0
  843. data/lib/hanzoai/models/iam_users_delete_output.rb +220 -0
  844. data/lib/hanzoai/models/iam_users_list_output.rb +231 -0
  845. data/lib/hanzoai/models/iam_webauthn_credential.rb +403 -0
  846. data/lib/hanzoai/models/iam_webauthn_credential_mutation_result.rb +229 -0
  847. data/lib/hanzoai/models/iam_webauthn_credential_result.rb +220 -0
  848. data/lib/hanzoai/models/iam_workspace.rb +339 -0
  849. data/lib/hanzoai/models/iam_workspaces_delete_output.rb +220 -0
  850. data/lib/hanzoai/models/iam_workspaces_input.rb +303 -0
  851. data/lib/hanzoai/models/iam_workspaces_list_output.rb +231 -0
  852. data/lib/hanzoai/models/image_origin.rb +231 -0
  853. data/lib/hanzoai/models/image_view.rb +231 -0
  854. data/lib/hanzoai/models/import_cap_table_in.rb +231 -0
  855. data/lib/hanzoai/models/import_cap_table_out.rb +241 -0
  856. data/lib/hanzoai/models/import_documents_in.rb +221 -0
  857. data/lib/hanzoai/models/import_documents_out.rb +231 -0
  858. data/lib/hanzoai/models/inbox_item.rb +291 -0
  859. data/lib/hanzoai/models/inbox_out.rb +223 -0
  860. data/lib/hanzoai/models/inbox_page.rb +233 -0
  861. data/lib/hanzoai/models/inbox_view.rb +311 -0
  862. data/lib/hanzoai/models/index.rb +260 -0
  863. data/lib/hanzoai/models/index_count.rb +231 -0
  864. data/lib/hanzoai/models/index_documents.rb +253 -0
  865. data/lib/hanzoai/models/index_enqueued.rb +261 -0
  866. data/lib/hanzoai/models/index_filter.rb +223 -0
  867. data/lib/hanzoai/models/index_health.rb +221 -0
  868. data/lib/hanzoai/models/index_hits.rb +273 -0
  869. data/lib/hanzoai/models/index_in.rb +243 -0
  870. data/lib/hanzoai/models/index_list.rb +253 -0
  871. data/lib/hanzoai/models/index_new.rb +231 -0
  872. data/lib/hanzoai/models/index_query.rb +251 -0
  873. data/lib/hanzoai/models/index_result.rb +301 -0
  874. data/lib/hanzoai/models/index_settings.rb +223 -0
  875. data/lib/hanzoai/models/index_stats.rb +233 -0
  876. data/lib/hanzoai/models/index_task.rb +271 -0
  877. data/lib/hanzoai/models/index_version.rb +241 -0
  878. data/lib/hanzoai/models/index_view.rb +251 -0
  879. data/lib/hanzoai/models/indexer_view.rb +281 -0
  880. data/lib/hanzoai/models/indexers_out.rb +223 -0
  881. data/lib/hanzoai/models/info_out.rb +271 -0
  882. data/lib/hanzoai/models/ingest_req.rb +412 -0
  883. data/lib/hanzoai/models/ingest_resp.rb +243 -0
  884. data/lib/hanzoai/models/ingress_middlewares.rb +223 -0
  885. data/lib/hanzoai/models/ingress_routes.rb +223 -0
  886. data/lib/hanzoai/models/ingress_services.rb +223 -0
  887. data/lib/hanzoai/models/ingress_status.rb +301 -0
  888. data/lib/hanzoai/models/ingress_tls.rb +283 -0
  889. data/lib/hanzoai/models/insights_body.rb +269 -0
  890. data/lib/hanzoai/models/insights_event.rb +258 -0
  891. data/lib/hanzoai/models/insights_status.rb +241 -0
  892. data/lib/hanzoai/models/install.rb +242 -0
  893. data/lib/hanzoai/models/install_req.rb +221 -0
  894. data/lib/hanzoai/models/install_state.rb +231 -0
  895. data/lib/hanzoai/models/invocation_list.rb +223 -0
  896. data/lib/hanzoai/models/invocation_view.rb +271 -0
  897. data/lib/hanzoai/models/invoice.rb +333 -0
  898. data/lib/hanzoai/models/invoice_line.rb +251 -0
  899. data/lib/hanzoai/models/invoice_line_item.rb +320 -0
  900. data/lib/hanzoai/models/invoices.rb +231 -0
  901. data/lib/hanzoai/models/invoke_req.rb +221 -0
  902. data/lib/hanzoai/models/issue_edit.rb +271 -0
  903. data/lib/hanzoai/models/issue_hit.rb +321 -0
  904. data/lib/hanzoai/models/issue_hits.rb +233 -0
  905. data/lib/hanzoai/models/issue_view.rb +393 -0
  906. data/lib/hanzoai/models/item_list.rb +223 -0
  907. data/lib/hanzoai/models/item_req.rb +263 -0
  908. data/lib/hanzoai/models/item_result.rb +261 -0
  909. data/lib/hanzoai/models/item_view.rb +293 -0
  910. data/lib/hanzoai/models/job_cancel.rb +241 -0
  911. data/lib/hanzoai/models/job_canceled.rb +231 -0
  912. data/lib/hanzoai/models/job_list.rb +223 -0
  913. data/lib/hanzoai/models/journey_step.rb +325 -0
  914. data/lib/hanzoai/models/judge_spec.rb +241 -0
  915. data/lib/hanzoai/models/kb_authorize_out.rb +221 -0
  916. data/lib/hanzoai/models/kb_connectors_out.rb +223 -0
  917. data/lib/hanzoai/models/kb_sync_out.rb +231 -0
  918. data/lib/hanzoai/models/key_list.rb +223 -0
  919. data/lib/hanzoai/models/key_type_in.rb +233 -0
  920. data/lib/hanzoai/models/key_view.rb +261 -0
  921. data/lib/hanzoai/models/kit_list.rb +223 -0
  922. data/lib/hanzoai/models/kms_config.rb +251 -0
  923. data/lib/hanzoai/models/kms_health.rb +261 -0
  924. data/lib/hanzoai/models/kms_login.rb +231 -0
  925. data/lib/hanzoai/models/kms_put.rb +251 -0
  926. data/lib/hanzoai/models/kms_secrets.rb +245 -0
  927. data/lib/hanzoai/models/kms_stored.rb +241 -0
  928. data/lib/hanzoai/models/kms_token.rb +241 -0
  929. data/lib/hanzoai/models/kv_ack.rb +221 -0
  930. data/lib/hanzoai/models/kv_entry.rb +261 -0
  931. data/lib/hanzoai/models/kv_page.rb +223 -0
  932. data/lib/hanzoai/models/kv_write.rb +241 -0
  933. data/lib/hanzoai/models/kyc_refresh_out.rb +231 -0
  934. data/lib/hanzoai/models/kyc_session.rb +251 -0
  935. data/lib/hanzoai/models/kyc_start_out.rb +243 -0
  936. data/lib/hanzoai/models/last_event_view.rb +261 -0
  937. data/lib/hanzoai/models/latency_stat.rb +251 -0
  938. data/lib/hanzoai/models/leader_row.rb +341 -0
  939. data/lib/hanzoai/models/leaderboard.rb +233 -0
  940. data/lib/hanzoai/models/leaderboard_row.rb +261 -0
  941. data/lib/hanzoai/models/leaderboard_view.rb +323 -0
  942. data/lib/hanzoai/models/lease_in.rb +261 -0
  943. data/lib/hanzoai/models/leased.rb +261 -0
  944. data/lib/hanzoai/models/leg.rb +241 -0
  945. data/lib/hanzoai/models/legal_filing.rb +294 -0
  946. data/lib/hanzoai/models/legal_health.rb +231 -0
  947. data/lib/hanzoai/models/legal_signer.rb +229 -0
  948. data/lib/hanzoai/models/legal_template.rb +285 -0
  949. data/lib/hanzoai/models/level_view.rb +241 -0
  950. data/lib/hanzoai/models/licensing_device_signals.rb +292 -0
  951. data/lib/hanzoai/models/licensing_fingerprint_request.rb +221 -0
  952. data/lib/hanzoai/models/licensing_fingerprint_response.rb +231 -0
  953. data/lib/hanzoai/models/licensing_health_view.rb +251 -0
  954. data/lib/hanzoai/models/licensing_issue_request.rb +288 -0
  955. data/lib/hanzoai/models/licensing_issue_response.rb +283 -0
  956. data/lib/hanzoai/models/licensing_jwk.rb +251 -0
  957. data/lib/hanzoai/models/licensing_pubkey_view.rb +273 -0
  958. data/lib/hanzoai/models/licensing_release.rb +332 -0
  959. data/lib/hanzoai/models/licensing_release_asset.rb +248 -0
  960. data/lib/hanzoai/models/licensing_release_list.rb +223 -0
  961. data/lib/hanzoai/models/licensing_revocation_entry.rb +256 -0
  962. data/lib/hanzoai/models/licensing_revoke_request.rb +275 -0
  963. data/lib/hanzoai/models/licensing_revoke_response.rb +231 -0
  964. data/lib/hanzoai/models/licensing_verify_request.rb +248 -0
  965. data/lib/hanzoai/models/licensing_verify_response.rb +303 -0
  966. data/lib/hanzoai/models/limits_block.rb +251 -0
  967. data/lib/hanzoai/models/limits_view.rb +241 -0
  968. data/lib/hanzoai/models/line_item.rb +231 -0
  969. data/lib/hanzoai/models/link.rb +220 -0
  970. data/lib/hanzoai/models/link_list.rb +235 -0
  971. data/lib/hanzoai/models/link_mint.rb +221 -0
  972. data/lib/hanzoai/models/link_view.rb +361 -0
  973. data/lib/hanzoai/models/list_out.rb +223 -0
  974. data/lib/hanzoai/models/listing.rb +231 -0
  975. data/lib/hanzoai/models/listing_page.rb +223 -0
  976. data/lib/hanzoai/models/liveness.rb +231 -0
  977. data/lib/hanzoai/models/llm.rb +291 -0
  978. data/lib/hanzoai/models/llm_overview.rb +321 -0
  979. data/lib/hanzoai/models/location.rb +241 -0
  980. data/lib/hanzoai/models/log_body.rb +238 -0
  981. data/lib/hanzoai/models/log_lines.rb +221 -0
  982. data/lib/hanzoai/models/loss.rb +231 -0
  983. data/lib/hanzoai/models/machine_list.rb +223 -0
  984. data/lib/hanzoai/models/machine_view.rb +351 -0
  985. data/lib/hanzoai/models/make_in.rb +320 -0
  986. data/lib/hanzoai/models/market_catalog.rb +223 -0
  987. data/lib/hanzoai/models/market_item.rb +305 -0
  988. data/lib/hanzoai/models/mcp_catalog.rb +253 -0
  989. data/lib/hanzoai/models/mcp_catalog_sync.rb +251 -0
  990. data/lib/hanzoai/models/mcp_error.rb +239 -0
  991. data/lib/hanzoai/models/mcp_listing.rb +387 -0
  992. data/lib/hanzoai/models/mcp_package.rb +261 -0
  993. data/lib/hanzoai/models/mcp_remote.rb +231 -0
  994. data/lib/hanzoai/models/mcp_request.rb +250 -0
  995. data/lib/hanzoai/models/mcp_response.rb +250 -0
  996. data/lib/hanzoai/models/mcp_server.rb +301 -0
  997. data/lib/hanzoai/models/mcp_server_list.rb +223 -0
  998. data/lib/hanzoai/models/meet_health.rb +241 -0
  999. data/lib/hanzoai/models/memory_entry.rb +291 -0
  1000. data/lib/hanzoai/models/memory_page.rb +223 -0
  1001. data/lib/hanzoai/models/mesh_service_list.rb +223 -0
  1002. data/lib/hanzoai/models/mesh_view.rb +251 -0
  1003. data/lib/hanzoai/models/message_input.rb +253 -0
  1004. data/lib/hanzoai/models/message_list.rb +223 -0
  1005. data/lib/hanzoai/models/metric_body.rb +240 -0
  1006. data/lib/hanzoai/models/metric_list.rb +223 -0
  1007. data/lib/hanzoai/models/metric_row.rb +271 -0
  1008. data/lib/hanzoai/models/metrics.rb +281 -0
  1009. data/lib/hanzoai/models/metrics_response.rb +383 -0
  1010. data/lib/hanzoai/models/metrics_view.rb +243 -0
  1011. data/lib/hanzoai/models/middleware.rb +243 -0
  1012. data/lib/hanzoai/models/minted_key.rb +253 -0
  1013. data/lib/hanzoai/models/mirror_list.rb +223 -0
  1014. data/lib/hanzoai/models/mirror_req.rb +241 -0
  1015. data/lib/hanzoai/models/mirror_target_req.rb +241 -0
  1016. data/lib/hanzoai/models/mirror_target_view.rb +261 -0
  1017. data/lib/hanzoai/models/ml_create.rb +243 -0
  1018. data/lib/hanzoai/models/ml_resource.rb +255 -0
  1019. data/lib/hanzoai/models/ml_resource_list.rb +223 -0
  1020. data/lib/hanzoai/models/mode.rb +247 -0
  1021. data/lib/hanzoai/models/mode_in.rb +220 -0
  1022. data/lib/hanzoai/models/model_history.rb +243 -0
  1023. data/lib/hanzoai/models/model_row.rb +271 -0
  1024. data/lib/hanzoai/models/model_stat.rb +351 -0
  1025. data/lib/hanzoai/models/module_info.rb +231 -0
  1026. data/lib/hanzoai/models/module_list.rb +223 -0
  1027. data/lib/hanzoai/models/module_state.rb +242 -0
  1028. data/lib/hanzoai/models/mutate_req.rb +235 -0
  1029. data/lib/hanzoai/models/my_referral_view.rb +261 -0
  1030. data/lib/hanzoai/models/my_referrals.rb +253 -0
  1031. data/lib/hanzoai/models/namespace_create_in.rb +221 -0
  1032. data/lib/hanzoai/models/network_list.rb +223 -0
  1033. data/lib/hanzoai/models/network_view.rb +251 -0
  1034. data/lib/hanzoai/models/new_issue.rb +261 -0
  1035. data/lib/hanzoai/models/news_item.rb +281 -0
  1036. data/lib/hanzoai/models/news_response.rb +223 -0
  1037. data/lib/hanzoai/models/next_in.rb +261 -0
  1038. data/lib/hanzoai/models/node_list.rb +223 -0
  1039. data/lib/hanzoai/models/node_pool_view.rb +281 -0
  1040. data/lib/hanzoai/models/node_view.rb +285 -0
  1041. data/lib/hanzoai/models/nodes_view.rb +223 -0
  1042. data/lib/hanzoai/models/notify_health.rb +231 -0
  1043. data/lib/hanzoai/models/notify_send.rb +303 -0
  1044. data/lib/hanzoai/models/number.rb +293 -0
  1045. data/lib/hanzoai/models/number_list.rb +223 -0
  1046. data/lib/hanzoai/models/o11y_account.rb +295 -0
  1047. data/lib/hanzoai/models/o11y_account_config.rb +238 -0
  1048. data/lib/hanzoai/models/o11y_add_items_in.rb +233 -0
  1049. data/lib/hanzoai/models/o11y_agent_report.rb +231 -0
  1050. data/lib/hanzoai/models/o11y_aggregate_attribute_response.rb +222 -0
  1051. data/lib/hanzoai/models/o11y_alert.rb +260 -0
  1052. data/lib/hanzoai/models/o11y_alert_status.rb +242 -0
  1053. data/lib/hanzoai/models/o11y_alertmanagertypes_receiver.rb +231 -0
  1054. data/lib/hanzoai/models/o11y_ann_item_list.rb +233 -0
  1055. data/lib/hanzoai/models/o11y_ann_item_view.rb +331 -0
  1056. data/lib/hanzoai/models/o11y_ann_items_created.rb +223 -0
  1057. data/lib/hanzoai/models/o11y_ann_queue_deleted.rb +221 -0
  1058. data/lib/hanzoai/models/o11y_ann_queue_detail_view.rb +305 -0
  1059. data/lib/hanzoai/models/o11y_ann_queue_list.rb +233 -0
  1060. data/lib/hanzoai/models/o11y_ann_queue_view.rb +273 -0
  1061. data/lib/hanzoai/models/o11y_associated_component.rb +230 -0
  1062. data/lib/hanzoai/models/o11y_attribute_key.rb +256 -0
  1063. data/lib/hanzoai/models/o11y_attributes_component_entry.rb +231 -0
  1064. data/lib/hanzoai/models/o11y_authorization.rb +249 -0
  1065. data/lib/hanzoai/models/o11y_availability_point.rb +241 -0
  1066. data/lib/hanzoai/models/o11y_availability_response.rb +264 -0
  1067. data/lib/hanzoai/models/o11y_availability_response_range.rb +230 -0
  1068. data/lib/hanzoai/models/o11y_aws_account_config.rb +222 -0
  1069. data/lib/hanzoai/models/o11y_aws_cloud_watch_logs_subscription.rb +231 -0
  1070. data/lib/hanzoai/models/o11y_aws_cloud_watch_metric_stream_filter.rb +232 -0
  1071. data/lib/hanzoai/models/o11y_aws_connection_artifact.rb +220 -0
  1072. data/lib/hanzoai/models/o11y_aws_integration_config.rb +231 -0
  1073. data/lib/hanzoai/models/o11y_aws_logs_collection_strategy.rb +222 -0
  1074. data/lib/hanzoai/models/o11y_aws_metrics_collection_strategy.rb +223 -0
  1075. data/lib/hanzoai/models/o11y_aws_postable_account_config.rb +231 -0
  1076. data/lib/hanzoai/models/o11y_aws_service_config.rb +229 -0
  1077. data/lib/hanzoai/models/o11y_aws_service_logs_config.rb +231 -0
  1078. data/lib/hanzoai/models/o11y_aws_service_metrics_config.rb +220 -0
  1079. data/lib/hanzoai/models/o11y_aws_telemetry_collection_strategy.rb +241 -0
  1080. data/lib/hanzoai/models/o11y_azure_account_config.rb +231 -0
  1081. data/lib/hanzoai/models/o11y_azure_connection_artifact.rb +229 -0
  1082. data/lib/hanzoai/models/o11y_azure_integration_config.rb +242 -0
  1083. data/lib/hanzoai/models/o11y_azure_logs_collection_strategy.rb +223 -0
  1084. data/lib/hanzoai/models/o11y_azure_service_config.rb +229 -0
  1085. data/lib/hanzoai/models/o11y_azure_service_logs_config.rb +220 -0
  1086. data/lib/hanzoai/models/o11y_azure_service_metrics_config.rb +220 -0
  1087. data/lib/hanzoai/models/o11y_azure_telemetry_collection_strategy.rb +248 -0
  1088. data/lib/hanzoai/models/o11y_basic_auth.rb +268 -0
  1089. data/lib/hanzoai/models/o11y_builder_query.rb +448 -0
  1090. data/lib/hanzoai/models/o11y_channel.rb +275 -0
  1091. data/lib/hanzoai/models/o11y_checks.rb +296 -0
  1092. data/lib/hanzoai/models/o11y_cloud_integration_service.rb +268 -0
  1093. data/lib/hanzoai/models/o11y_cluster_list_record.rb +267 -0
  1094. data/lib/hanzoai/models/o11y_cluster_list_request.rb +278 -0
  1095. data/lib/hanzoai/models/o11y_cluster_list_response.rb +240 -0
  1096. data/lib/hanzoai/models/o11y_cluster_record.rb +286 -0
  1097. data/lib/hanzoai/models/o11y_clusters.rb +259 -0
  1098. data/lib/hanzoai/models/o11y_collected_log_attribute.rb +238 -0
  1099. data/lib/hanzoai/models/o11y_collected_metric.rb +247 -0
  1100. data/lib/hanzoai/models/o11y_composite_query.rb +293 -0
  1101. data/lib/hanzoai/models/o11y_connection_artifact.rb +239 -0
  1102. data/lib/hanzoai/models/o11y_create_queue_req.rb +243 -0
  1103. data/lib/hanzoai/models/o11y_credentials.rb +248 -0
  1104. data/lib/hanzoai/models/o11y_daemon_set_list_record.rb +312 -0
  1105. data/lib/hanzoai/models/o11y_daemon_set_list_request.rb +278 -0
  1106. data/lib/hanzoai/models/o11y_daemon_set_list_response.rb +240 -0
  1107. data/lib/hanzoai/models/o11y_daemon_set_record.rb +312 -0
  1108. data/lib/hanzoai/models/o11y_daemon_sets.rb +259 -0
  1109. data/lib/hanzoai/models/o11y_data_collected.rb +233 -0
  1110. data/lib/hanzoai/models/o11y_data_collected_for_integration.rb +233 -0
  1111. data/lib/hanzoai/models/o11y_datastore_query.rb +238 -0
  1112. data/lib/hanzoai/models/o11y_deployment.rb +231 -0
  1113. data/lib/hanzoai/models/o11y_deployment_list_record.rb +312 -0
  1114. data/lib/hanzoai/models/o11y_deployment_list_request.rb +278 -0
  1115. data/lib/hanzoai/models/o11y_deployment_list_response.rb +240 -0
  1116. data/lib/hanzoai/models/o11y_deployment_record.rb +312 -0
  1117. data/lib/hanzoai/models/o11y_deployments.rb +259 -0
  1118. data/lib/hanzoai/models/o11y_deprecated_gettable_alert.rb +249 -0
  1119. data/lib/hanzoai/models/o11y_discord_config.rb +293 -0
  1120. data/lib/hanzoai/models/o11y_email_config.rb +380 -0
  1121. data/lib/hanzoai/models/o11y_event.rb +249 -0
  1122. data/lib/hanzoai/models/o11y_filter.rb +221 -0
  1123. data/lib/hanzoai/models/o11y_filter_attribute_key_response.rb +222 -0
  1124. data/lib/hanzoai/models/o11y_filter_attribute_value_request.rb +332 -0
  1125. data/lib/hanzoai/models/o11y_filter_attribute_value_response.rb +253 -0
  1126. data/lib/hanzoai/models/o11y_filter_item.rb +238 -0
  1127. data/lib/hanzoai/models/o11y_filter_set.rb +231 -0
  1128. data/lib/hanzoai/models/o11y_flamegraph_span.rb +307 -0
  1129. data/lib/hanzoai/models/o11y_format_options.rb +229 -0
  1130. data/lib/hanzoai/models/o11y_function.rb +242 -0
  1131. data/lib/hanzoai/models/o11y_funnel_step.rb +304 -0
  1132. data/lib/hanzoai/models/o11y_gcp_account_config.rb +243 -0
  1133. data/lib/hanzoai/models/o11y_gcp_service_config.rb +229 -0
  1134. data/lib/hanzoai/models/o11y_gcp_service_logs_config.rb +220 -0
  1135. data/lib/hanzoai/models/o11y_gcp_service_metrics_config.rb +220 -0
  1136. data/lib/hanzoai/models/o11y_gettable_account_with_connection_artifact.rb +230 -0
  1137. data/lib/hanzoai/models/o11y_gettable_accounts.rb +222 -0
  1138. data/lib/hanzoai/models/o11y_gettable_agent_check_in.rb +284 -0
  1139. data/lib/hanzoai/models/o11y_gettable_created_ingestion_key.rb +229 -0
  1140. data/lib/hanzoai/models/o11y_gettable_created_ingestion_key_limit.rb +220 -0
  1141. data/lib/hanzoai/models/o11y_gettable_field_keys.rb +231 -0
  1142. data/lib/hanzoai/models/o11y_gettable_field_values.rb +229 -0
  1143. data/lib/hanzoai/models/o11y_gettable_flamegraph_trace.rb +249 -0
  1144. data/lib/hanzoai/models/o11y_gettable_funnel.rb +312 -0
  1145. data/lib/hanzoai/models/o11y_gettable_host.rb +249 -0
  1146. data/lib/hanzoai/models/o11y_gettable_ingestion_keys.rb +231 -0
  1147. data/lib/hanzoai/models/o11y_gettable_route_policy.rb +315 -0
  1148. data/lib/hanzoai/models/o11y_gettable_rule_state_history.rb +305 -0
  1149. data/lib/hanzoai/models/o11y_gettable_rule_state_history_contributor.rb +258 -0
  1150. data/lib/hanzoai/models/o11y_gettable_rule_state_history_stats.rb +283 -0
  1151. data/lib/hanzoai/models/o11y_gettable_rule_state_timeline.rb +240 -0
  1152. data/lib/hanzoai/models/o11y_gettable_rule_state_window.rb +239 -0
  1153. data/lib/hanzoai/models/o11y_gettable_services_metadata.rb +222 -0
  1154. data/lib/hanzoai/models/o11y_gettable_span_mapper_groups.rb +222 -0
  1155. data/lib/hanzoai/models/o11y_gettable_span_mappers.rb +222 -0
  1156. data/lib/hanzoai/models/o11y_gettable_test_rule.rb +229 -0
  1157. data/lib/hanzoai/models/o11y_gettable_trace_aggregations.rb +222 -0
  1158. data/lib/hanzoai/models/o11y_gettable_waterfall_trace.rb +305 -0
  1159. data/lib/hanzoai/models/o11y_google_chat_receiver_config.rb +257 -0
  1160. data/lib/hanzoai/models/o11y_group_by_key.rb +285 -0
  1161. data/lib/hanzoai/models/o11y_having.rb +238 -0
  1162. data/lib/hanzoai/models/o11y_host.rb +238 -0
  1163. data/lib/hanzoai/models/o11y_host_filter.rb +230 -0
  1164. data/lib/hanzoai/models/o11y_host_list_record.rb +285 -0
  1165. data/lib/hanzoai/models/o11y_host_list_request.rb +278 -0
  1166. data/lib/hanzoai/models/o11y_host_list_response.rb +289 -0
  1167. data/lib/hanzoai/models/o11y_host_record.rb +304 -0
  1168. data/lib/hanzoai/models/o11y_hosts.rb +259 -0
  1169. data/lib/hanzoai/models/o11y_http_client_config.rb +340 -0
  1170. data/lib/hanzoai/models/o11y_incidentio_config.rb +287 -0
  1171. data/lib/hanzoai/models/o11y_ingestion_key.rb +296 -0
  1172. data/lib/hanzoai/models/o11y_install_integration_request.rb +231 -0
  1173. data/lib/hanzoai/models/o11y_installed_integration.rb +259 -0
  1174. data/lib/hanzoai/models/o11y_integration.rb +323 -0
  1175. data/lib/hanzoai/models/o11y_integration_assets.rb +242 -0
  1176. data/lib/hanzoai/models/o11y_integration_author.rb +238 -0
  1177. data/lib/hanzoai/models/o11y_integration_config.rb +233 -0
  1178. data/lib/hanzoai/models/o11y_integration_config_step.rb +229 -0
  1179. data/lib/hanzoai/models/o11y_integration_connection_status.rb +229 -0
  1180. data/lib/hanzoai/models/o11y_integration_connection_tests.rb +232 -0
  1181. data/lib/hanzoai/models/o11y_integrations_collected_log_attribute.rb +238 -0
  1182. data/lib/hanzoai/models/o11y_integrations_collected_metric.rb +247 -0
  1183. data/lib/hanzoai/models/o11y_integrations_list_item.rb +265 -0
  1184. data/lib/hanzoai/models/o11y_integrations_list_response.rb +222 -0
  1185. data/lib/hanzoai/models/o11y_item_input.rb +271 -0
  1186. data/lib/hanzoai/models/o11y_jira_config.rb +352 -0
  1187. data/lib/hanzoai/models/o11y_jira_field_config.rb +231 -0
  1188. data/lib/hanzoai/models/o11y_job_list_record.rb +330 -0
  1189. data/lib/hanzoai/models/o11y_job_list_request.rb +278 -0
  1190. data/lib/hanzoai/models/o11y_job_list_response.rb +240 -0
  1191. data/lib/hanzoai/models/o11y_job_record.rb +330 -0
  1192. data/lib/hanzoai/models/o11y_jobs.rb +259 -0
  1193. data/lib/hanzoai/models/o11y_label.rb +229 -0
  1194. data/lib/hanzoai/models/o11y_limit.rb +286 -0
  1195. data/lib/hanzoai/models/o11y_limit_config.rb +229 -0
  1196. data/lib/hanzoai/models/o11y_limit_metric.rb +229 -0
  1197. data/lib/hanzoai/models/o11y_limit_metric_value.rb +229 -0
  1198. data/lib/hanzoai/models/o11y_limit_value.rb +229 -0
  1199. data/lib/hanzoai/models/o11y_list_meta.rb +251 -0
  1200. data/lib/hanzoai/models/o11y_logs_assets.rb +222 -0
  1201. data/lib/hanzoai/models/o11y_logs_connection_test.rb +229 -0
  1202. data/lib/hanzoai/models/o11y_mattermost_attachment.rb +339 -0
  1203. data/lib/hanzoai/models/o11y_mattermost_config.rb +331 -0
  1204. data/lib/hanzoai/models/o11y_mattermost_field.rb +238 -0
  1205. data/lib/hanzoai/models/o11y_mattermost_priority.rb +238 -0
  1206. data/lib/hanzoai/models/o11y_mattermost_props.rb +220 -0
  1207. data/lib/hanzoai/models/o11y_metrics_component_entry.rb +231 -0
  1208. data/lib/hanzoai/models/o11y_metrics_response.rb +257 -0
  1209. data/lib/hanzoai/models/o11y_metrics_response_range.rb +230 -0
  1210. data/lib/hanzoai/models/o11y_metrics_response_series.rb +256 -0
  1211. data/lib/hanzoai/models/o11y_metrics_response_summary.rb +248 -0
  1212. data/lib/hanzoai/models/o11y_metrics_response_usage.rb +250 -0
  1213. data/lib/hanzoai/models/o11y_missing_attributes_component_entry.rb +249 -0
  1214. data/lib/hanzoai/models/o11y_missing_metrics_component_entry.rb +249 -0
  1215. data/lib/hanzoai/models/o11y_ms_teams_config.rb +275 -0
  1216. data/lib/hanzoai/models/o11y_ms_teams_v2_config.rb +266 -0
  1217. data/lib/hanzoai/models/o11y_namespace_list_record.rb +258 -0
  1218. data/lib/hanzoai/models/o11y_namespace_list_request.rb +278 -0
  1219. data/lib/hanzoai/models/o11y_namespace_list_response.rb +240 -0
  1220. data/lib/hanzoai/models/o11y_namespace_record.rb +258 -0
  1221. data/lib/hanzoai/models/o11y_namespaces.rb +259 -0
  1222. data/lib/hanzoai/models/o11y_node_count_by_condition.rb +238 -0
  1223. data/lib/hanzoai/models/o11y_node_counts_by_readiness.rb +229 -0
  1224. data/lib/hanzoai/models/o11y_node_list_record.rb +276 -0
  1225. data/lib/hanzoai/models/o11y_node_list_request.rb +278 -0
  1226. data/lib/hanzoai/models/o11y_node_list_response.rb +240 -0
  1227. data/lib/hanzoai/models/o11y_node_record.rb +295 -0
  1228. data/lib/hanzoai/models/o11y_nodes.rb +259 -0
  1229. data/lib/hanzoai/models/o11y_notifier_config.rb +220 -0
  1230. data/lib/hanzoai/models/o11y_o11y_account_out.rb +231 -0
  1231. data/lib/hanzoai/models/o11y_o11y_accounts_out.rb +231 -0
  1232. data/lib/hanzoai/models/o11y_o11y_ack.rb +221 -0
  1233. data/lib/hanzoai/models/o11y_o11y_affected_asset.rb +263 -0
  1234. data/lib/hanzoai/models/o11y_o11y_affected_widget.rb +231 -0
  1235. data/lib/hanzoai/models/o11y_o11y_agent_check_in_in.rb +259 -0
  1236. data/lib/hanzoai/models/o11y_o11y_agent_check_in_out.rb +231 -0
  1237. data/lib/hanzoai/models/o11y_o11y_aggregate_attributes_out.rb +231 -0
  1238. data/lib/hanzoai/models/o11y_o11y_aggregation.rb +301 -0
  1239. data/lib/hanzoai/models/o11y_o11y_aggregation_meta.rb +221 -0
  1240. data/lib/hanzoai/models/o11y_o11y_alerts_out.rb +233 -0
  1241. data/lib/hanzoai/models/o11y_o11y_analyze_in.rb +265 -0
  1242. data/lib/hanzoai/models/o11y_o11y_analyze_out.rb +231 -0
  1243. data/lib/hanzoai/models/o11y_o11y_apdex_out.rb +233 -0
  1244. data/lib/hanzoai/models/o11y_o11y_apdex_set_in.rb +241 -0
  1245. data/lib/hanzoai/models/o11y_o11y_apdex_set_out.rb +231 -0
  1246. data/lib/hanzoai/models/o11y_o11y_apdex_settings.rb +261 -0
  1247. data/lib/hanzoai/models/o11y_o11y_api_key.rb +281 -0
  1248. data/lib/hanzoai/models/o11y_o11y_api_key_create_in.rb +231 -0
  1249. data/lib/hanzoai/models/o11y_o11y_api_key_create_out.rb +231 -0
  1250. data/lib/hanzoai/models/o11y_o11y_api_key_secret.rb +231 -0
  1251. data/lib/hanzoai/models/o11y_o11y_api_key_update_in.rb +231 -0
  1252. data/lib/hanzoai/models/o11y_o11y_api_keys_out.rb +233 -0
  1253. data/lib/hanzoai/models/o11y_o11y_attribute_key.rb +261 -0
  1254. data/lib/hanzoai/models/o11y_o11y_attribute_keys_out.rb +231 -0
  1255. data/lib/hanzoai/models/o11y_o11y_attribute_mapping.rb +251 -0
  1256. data/lib/hanzoai/models/o11y_o11y_attribute_values_out.rb +231 -0
  1257. data/lib/hanzoai/models/o11y_o11y_auth_domain.rb +281 -0
  1258. data/lib/hanzoai/models/o11y_o11y_auth_domain_config.rb +271 -0
  1259. data/lib/hanzoai/models/o11y_o11y_auth_domain_out.rb +231 -0
  1260. data/lib/hanzoai/models/o11y_o11y_auth_domains_out.rb +233 -0
  1261. data/lib/hanzoai/models/o11y_o11y_auth_n_provider_info.rb +221 -0
  1262. data/lib/hanzoai/models/o11y_o11y_auth_n_support.rb +235 -0
  1263. data/lib/hanzoai/models/o11y_o11y_bulk_invite_in.rb +223 -0
  1264. data/lib/hanzoai/models/o11y_o11y_callback_auth_n.rb +231 -0
  1265. data/lib/hanzoai/models/o11y_o11y_change_password_in.rb +231 -0
  1266. data/lib/hanzoai/models/o11y_o11y_channel_out.rb +231 -0
  1267. data/lib/hanzoai/models/o11y_o11y_channel_update_in.rb +231 -0
  1268. data/lib/hanzoai/models/o11y_o11y_channels_out.rb +233 -0
  1269. data/lib/hanzoai/models/o11y_o11y_check_out.rb +233 -0
  1270. data/lib/hanzoai/models/o11y_o11y_cluster_list_out.rb +231 -0
  1271. data/lib/hanzoai/models/o11y_o11y_column_info.rb +231 -0
  1272. data/lib/hanzoai/models/o11y_o11y_connection_status_out.rb +231 -0
  1273. data/lib/hanzoai/models/o11y_o11y_create_account_in.rb +229 -0
  1274. data/lib/hanzoai/models/o11y_o11y_create_account_out.rb +231 -0
  1275. data/lib/hanzoai/models/o11y_o11y_create_limit_in.rb +240 -0
  1276. data/lib/hanzoai/models/o11y_o11y_created.rb +221 -0
  1277. data/lib/hanzoai/models/o11y_o11y_created_ingestion_key_out.rb +231 -0
  1278. data/lib/hanzoai/models/o11y_o11y_created_limit_out.rb +231 -0
  1279. data/lib/hanzoai/models/o11y_o11y_created_out.rb +231 -0
  1280. data/lib/hanzoai/models/o11y_o11y_credentials_out.rb +231 -0
  1281. data/lib/hanzoai/models/o11y_o11y_daemon_set_list_out.rb +231 -0
  1282. data/lib/hanzoai/models/o11y_o11y_dashboard.rb +343 -0
  1283. data/lib/hanzoai/models/o11y_o11y_dashboard_display.rb +231 -0
  1284. data/lib/hanzoai/models/o11y_o11y_dashboard_list.rb +245 -0
  1285. data/lib/hanzoai/models/o11y_o11y_dashboard_list_for_user.rb +245 -0
  1286. data/lib/hanzoai/models/o11y_o11y_dashboard_list_for_user_out.rb +231 -0
  1287. data/lib/hanzoai/models/o11y_o11y_dashboard_list_item.rb +343 -0
  1288. data/lib/hanzoai/models/o11y_o11y_dashboard_list_item_for_user.rb +340 -0
  1289. data/lib/hanzoai/models/o11y_o11y_dashboard_list_out.rb +231 -0
  1290. data/lib/hanzoai/models/o11y_o11y_dashboard_list_spec.rb +221 -0
  1291. data/lib/hanzoai/models/o11y_o11y_dashboard_out.rb +231 -0
  1292. data/lib/hanzoai/models/o11y_o11y_dashboard_patch_in.rb +233 -0
  1293. data/lib/hanzoai/models/o11y_o11y_dashboard_patch_op.rb +251 -0
  1294. data/lib/hanzoai/models/o11y_o11y_dashboard_postable.rb +273 -0
  1295. data/lib/hanzoai/models/o11y_o11y_dashboard_postable_tag.rb +231 -0
  1296. data/lib/hanzoai/models/o11y_o11y_dashboard_tag.rb +231 -0
  1297. data/lib/hanzoai/models/o11y_o11y_dashboard_update_in.rb +269 -0
  1298. data/lib/hanzoai/models/o11y_o11y_dashboard_var_values.rb +223 -0
  1299. data/lib/hanzoai/models/o11y_o11y_dashboard_vars_in.rb +250 -0
  1300. data/lib/hanzoai/models/o11y_o11y_dashboard_vars_out.rb +231 -0
  1301. data/lib/hanzoai/models/o11y_o11y_dashboard_view.rb +271 -0
  1302. data/lib/hanzoai/models/o11y_o11y_dashboard_view_data.rb +251 -0
  1303. data/lib/hanzoai/models/o11y_o11y_dashboard_view_list.rb +223 -0
  1304. data/lib/hanzoai/models/o11y_o11y_dashboard_view_list_out.rb +231 -0
  1305. data/lib/hanzoai/models/o11y_o11y_dashboard_view_out.rb +231 -0
  1306. data/lib/hanzoai/models/o11y_o11y_dashboard_view_postable.rb +231 -0
  1307. data/lib/hanzoai/models/o11y_o11y_dashboard_view_update_in.rb +239 -0
  1308. data/lib/hanzoai/models/o11y_o11y_dependency.rb +311 -0
  1309. data/lib/hanzoai/models/o11y_o11y_dependency_graph_in.rb +277 -0
  1310. data/lib/hanzoai/models/o11y_o11y_deployment_list_out.rb +231 -0
  1311. data/lib/hanzoai/models/o11y_o11y_deprecated_user.rb +301 -0
  1312. data/lib/hanzoai/models/o11y_o11y_deprecated_user_out.rb +231 -0
  1313. data/lib/hanzoai/models/o11y_o11y_deprecated_user_update.rb +231 -0
  1314. data/lib/hanzoai/models/o11y_o11y_deprecated_users_out.rb +233 -0
  1315. data/lib/hanzoai/models/o11y_o11y_discover_in.rb +314 -0
  1316. data/lib/hanzoai/models/o11y_o11y_discover_out.rb +231 -0
  1317. data/lib/hanzoai/models/o11y_o11y_disk.rb +231 -0
  1318. data/lib/hanzoai/models/o11y_o11y_domain_filter.rb +221 -0
  1319. data/lib/hanzoai/models/o11y_o11y_domain_group_by.rb +271 -0
  1320. data/lib/hanzoai/models/o11y_o11y_domains_answer.rb +251 -0
  1321. data/lib/hanzoai/models/o11y_o11y_domains_data.rb +223 -0
  1322. data/lib/hanzoai/models/o11y_o11y_domains_in.rb +283 -0
  1323. data/lib/hanzoai/models/o11y_o11y_domains_out.rb +231 -0
  1324. data/lib/hanzoai/models/o11y_o11y_downtime_schedule_out.rb +231 -0
  1325. data/lib/hanzoai/models/o11y_o11y_downtime_schedules_out.rb +233 -0
  1326. data/lib/hanzoai/models/o11y_o11y_downtime_update_in.rb +259 -0
  1327. data/lib/hanzoai/models/o11y_o11y_draft_funnel_in.rb +263 -0
  1328. data/lib/hanzoai/models/o11y_o11y_email_password_session_in.rb +241 -0
  1329. data/lib/hanzoai/models/o11y_o11y_error_detail.rb +285 -0
  1330. data/lib/hanzoai/models/o11y_o11y_error_gettable_issue.rb +231 -0
  1331. data/lib/hanzoai/models/o11y_o11y_error_gettable_issue_out.rb +231 -0
  1332. data/lib/hanzoai/models/o11y_o11y_error_issue.rb +401 -0
  1333. data/lib/hanzoai/models/o11y_o11y_error_issue_out.rb +231 -0
  1334. data/lib/hanzoai/models/o11y_o11y_error_issues.rb +253 -0
  1335. data/lib/hanzoai/models/o11y_o11y_error_issues_out.rb +231 -0
  1336. data/lib/hanzoai/models/o11y_o11y_error_item.rb +233 -0
  1337. data/lib/hanzoai/models/o11y_o11y_error_update_issue_in.rb +258 -0
  1338. data/lib/hanzoai/models/o11y_o11y_error_with_span.rb +311 -0
  1339. data/lib/hanzoai/models/o11y_o11y_errors_count_in.rb +263 -0
  1340. data/lib/hanzoai/models/o11y_o11y_errors_list_in.rb +303 -0
  1341. data/lib/hanzoai/models/o11y_o11y_event.rb +465 -0
  1342. data/lib/hanzoai/models/o11y_o11y_event_in.rb +270 -0
  1343. data/lib/hanzoai/models/o11y_o11y_event_user.rb +251 -0
  1344. data/lib/hanzoai/models/o11y_o11y_events.rb +223 -0
  1345. data/lib/hanzoai/models/o11y_o11y_feature.rb +283 -0
  1346. data/lib/hanzoai/models/o11y_o11y_features_out.rb +233 -0
  1347. data/lib/hanzoai/models/o11y_o11y_field_catalog_out.rb +235 -0
  1348. data/lib/hanzoai/models/o11y_o11y_field_keys_out.rb +231 -0
  1349. data/lib/hanzoai/models/o11y_o11y_field_setting.rb +322 -0
  1350. data/lib/hanzoai/models/o11y_o11y_field_values_out.rb +231 -0
  1351. data/lib/hanzoai/models/o11y_o11y_filter.rb +241 -0
  1352. data/lib/hanzoai/models/o11y_o11y_filter_item.rb +241 -0
  1353. data/lib/hanzoai/models/o11y_o11y_filter_key.rb +261 -0
  1354. data/lib/hanzoai/models/o11y_o11y_filter_set.rb +233 -0
  1355. data/lib/hanzoai/models/o11y_o11y_filter_suggestions.rb +235 -0
  1356. data/lib/hanzoai/models/o11y_o11y_filter_suggestions_out.rb +231 -0
  1357. data/lib/hanzoai/models/o11y_o11y_forgot_password_in.rb +241 -0
  1358. data/lib/hanzoai/models/o11y_o11y_frame.rb +261 -0
  1359. data/lib/hanzoai/models/o11y_o11y_funnel_create_in.rb +231 -0
  1360. data/lib/hanzoai/models/o11y_o11y_funnel_delete_out.rb +221 -0
  1361. data/lib/hanzoai/models/o11y_o11y_funnel_out.rb +231 -0
  1362. data/lib/hanzoai/models/o11y_o11y_funnel_row.rb +233 -0
  1363. data/lib/hanzoai/models/o11y_o11y_funnel_rows_out.rb +233 -0
  1364. data/lib/hanzoai/models/o11y_o11y_funnel_step_window_in.rb +247 -0
  1365. data/lib/hanzoai/models/o11y_o11y_funnel_steps_update_in.rb +263 -0
  1366. data/lib/hanzoai/models/o11y_o11y_funnel_update_in.rb +241 -0
  1367. data/lib/hanzoai/models/o11y_o11y_funnel_window_in.rb +229 -0
  1368. data/lib/hanzoai/models/o11y_o11y_funnels_out.rb +233 -0
  1369. data/lib/hanzoai/models/o11y_o11y_gettable_host_out.rb +231 -0
  1370. data/lib/hanzoai/models/o11y_o11y_global_config.rb +261 -0
  1371. data/lib/hanzoai/models/o11y_o11y_global_config_out.rb +231 -0
  1372. data/lib/hanzoai/models/o11y_o11y_google_config.rb +305 -0
  1373. data/lib/hanzoai/models/o11y_o11y_health_out.rb +221 -0
  1374. data/lib/hanzoai/models/o11y_o11y_host_list_out.rb +231 -0
  1375. data/lib/hanzoai/models/o11y_o11y_ident_n.rb +241 -0
  1376. data/lib/hanzoai/models/o11y_o11y_identifiable.rb +221 -0
  1377. data/lib/hanzoai/models/o11y_o11y_identifiable_out.rb +231 -0
  1378. data/lib/hanzoai/models/o11y_o11y_infra_attribute_keys_out.rb +231 -0
  1379. data/lib/hanzoai/models/o11y_o11y_infra_attribute_values_out.rb +231 -0
  1380. data/lib/hanzoai/models/o11y_o11y_infra_checks_out.rb +231 -0
  1381. data/lib/hanzoai/models/o11y_o11y_infra_clusters_out.rb +231 -0
  1382. data/lib/hanzoai/models/o11y_o11y_infra_daemon_sets_out.rb +231 -0
  1383. data/lib/hanzoai/models/o11y_o11y_infra_deployments_out.rb +231 -0
  1384. data/lib/hanzoai/models/o11y_o11y_infra_hosts_out.rb +231 -0
  1385. data/lib/hanzoai/models/o11y_o11y_infra_jobs_out.rb +231 -0
  1386. data/lib/hanzoai/models/o11y_o11y_infra_namespaces_out.rb +231 -0
  1387. data/lib/hanzoai/models/o11y_o11y_infra_nodes_out.rb +231 -0
  1388. data/lib/hanzoai/models/o11y_o11y_infra_pods_out.rb +231 -0
  1389. data/lib/hanzoai/models/o11y_o11y_infra_stateful_sets_out.rb +231 -0
  1390. data/lib/hanzoai/models/o11y_o11y_infra_volumes_out.rb +231 -0
  1391. data/lib/hanzoai/models/o11y_o11y_ingestion_keys_out.rb +231 -0
  1392. data/lib/hanzoai/models/o11y_o11y_install_out.rb +231 -0
  1393. data/lib/hanzoai/models/o11y_o11y_integration_ack.rb +221 -0
  1394. data/lib/hanzoai/models/o11y_o11y_integration_out.rb +231 -0
  1395. data/lib/hanzoai/models/o11y_o11y_integrations_list_out.rb +231 -0
  1396. data/lib/hanzoai/models/o11y_o11y_invite.rb +301 -0
  1397. data/lib/hanzoai/models/o11y_o11y_invite_in.rb +251 -0
  1398. data/lib/hanzoai/models/o11y_o11y_invite_out.rb +231 -0
  1399. data/lib/hanzoai/models/o11y_o11y_job_list_out.rb +231 -0
  1400. data/lib/hanzoai/models/o11y_o11y_k8s_onboarding.rb +263 -0
  1401. data/lib/hanzoai/models/o11y_o11y_license_active_out.rb +231 -0
  1402. data/lib/hanzoai/models/o11y_o11y_licenses_out.rb +233 -0
  1403. data/lib/hanzoai/models/o11y_o11y_list_error.rb +281 -0
  1404. data/lib/hanzoai/models/o11y_o11y_llm_annotation.rb +301 -0
  1405. data/lib/hanzoai/models/o11y_o11y_llm_annotation_out.rb +231 -0
  1406. data/lib/hanzoai/models/o11y_o11y_llm_annotations_out.rb +231 -0
  1407. data/lib/hanzoai/models/o11y_o11y_llm_annotations_page.rb +253 -0
  1408. data/lib/hanzoai/models/o11y_o11y_llm_ingest_annotation.rb +261 -0
  1409. data/lib/hanzoai/models/o11y_o11y_llm_ingest_score.rb +291 -0
  1410. data/lib/hanzoai/models/o11y_o11y_llm_observation.rb +381 -0
  1411. data/lib/hanzoai/models/o11y_o11y_llm_observations_out.rb +231 -0
  1412. data/lib/hanzoai/models/o11y_o11y_llm_observations_page.rb +243 -0
  1413. data/lib/hanzoai/models/o11y_o11y_llm_pricing_cache_costs.rb +241 -0
  1414. data/lib/hanzoai/models/o11y_o11y_llm_pricing_rule.rb +363 -0
  1415. data/lib/hanzoai/models/o11y_o11y_llm_pricing_rule_out.rb +231 -0
  1416. data/lib/hanzoai/models/o11y_o11y_llm_pricing_rules_out.rb +231 -0
  1417. data/lib/hanzoai/models/o11y_o11y_llm_pricing_rules_page.rb +253 -0
  1418. data/lib/hanzoai/models/o11y_o11y_llm_rule_pricing.rb +241 -0
  1419. data/lib/hanzoai/models/o11y_o11y_llm_score.rb +341 -0
  1420. data/lib/hanzoai/models/o11y_o11y_llm_score_out.rb +231 -0
  1421. data/lib/hanzoai/models/o11y_o11y_llm_scores_out.rb +231 -0
  1422. data/lib/hanzoai/models/o11y_o11y_llm_scores_page.rb +253 -0
  1423. data/lib/hanzoai/models/o11y_o11y_llm_session.rb +291 -0
  1424. data/lib/hanzoai/models/o11y_o11y_llm_sessions_out.rb +231 -0
  1425. data/lib/hanzoai/models/o11y_o11y_llm_sessions_page.rb +243 -0
  1426. data/lib/hanzoai/models/o11y_o11y_llm_trace.rb +311 -0
  1427. data/lib/hanzoai/models/o11y_o11y_llm_traces_out.rb +231 -0
  1428. data/lib/hanzoai/models/o11y_o11y_llm_traces_page.rb +243 -0
  1429. data/lib/hanzoai/models/o11y_o11y_llm_updatable_pricing_rule.rb +303 -0
  1430. data/lib/hanzoai/models/o11y_o11y_llm_updatable_pricing_rules.rb +223 -0
  1431. data/lib/hanzoai/models/o11y_o11y_llm_user.rb +291 -0
  1432. data/lib/hanzoai/models/o11y_o11y_llm_users_out.rb +231 -0
  1433. data/lib/hanzoai/models/o11y_o11y_llm_users_page.rb +243 -0
  1434. data/lib/hanzoai/models/o11y_o11y_log_aggregate_bucket.rb +243 -0
  1435. data/lib/hanzoai/models/o11y_o11y_log_aggregate_out.rb +223 -0
  1436. data/lib/hanzoai/models/o11y_o11y_log_config_version.rb +351 -0
  1437. data/lib/hanzoai/models/o11y_o11y_log_filter.rb +233 -0
  1438. data/lib/hanzoai/models/o11y_o11y_log_filter_item.rb +241 -0
  1439. data/lib/hanzoai/models/o11y_o11y_log_filter_key.rb +261 -0
  1440. data/lib/hanzoai/models/o11y_o11y_log_parse_from.rb +221 -0
  1441. data/lib/hanzoai/models/o11y_o11y_log_pipeline.rb +333 -0
  1442. data/lib/hanzoai/models/o11y_o11y_log_pipeline_create_in.rb +223 -0
  1443. data/lib/hanzoai/models/o11y_o11y_log_pipeline_operator.rb +517 -0
  1444. data/lib/hanzoai/models/o11y_o11y_log_pipeline_preview.rb +235 -0
  1445. data/lib/hanzoai/models/o11y_o11y_log_pipeline_preview_in.rb +235 -0
  1446. data/lib/hanzoai/models/o11y_o11y_log_pipeline_preview_out.rb +231 -0
  1447. data/lib/hanzoai/models/o11y_o11y_log_pipeline_route.rb +231 -0
  1448. data/lib/hanzoai/models/o11y_o11y_log_pipelines.rb +375 -0
  1449. data/lib/hanzoai/models/o11y_o11y_log_pipelines_out.rb +231 -0
  1450. data/lib/hanzoai/models/o11y_o11y_log_postable_pipeline.rb +293 -0
  1451. data/lib/hanzoai/models/o11y_o11y_log_promote_index.rb +241 -0
  1452. data/lib/hanzoai/models/o11y_o11y_log_promote_out.rb +221 -0
  1453. data/lib/hanzoai/models/o11y_o11y_log_promote_path.rb +243 -0
  1454. data/lib/hanzoai/models/o11y_o11y_log_promoted_out.rb +233 -0
  1455. data/lib/hanzoai/models/o11y_o11y_log_record.rb +351 -0
  1456. data/lib/hanzoai/models/o11y_o11y_log_records_out.rb +223 -0
  1457. data/lib/hanzoai/models/o11y_o11y_logs_out.rb +231 -0
  1458. data/lib/hanzoai/models/o11y_o11y_message.rb +221 -0
  1459. data/lib/hanzoai/models/o11y_o11y_metric_ack_out.rb +221 -0
  1460. data/lib/hanzoai/models/o11y_o11y_metric_alert.rb +231 -0
  1461. data/lib/hanzoai/models/o11y_o11y_metric_alerts.rb +223 -0
  1462. data/lib/hanzoai/models/o11y_o11y_metric_alerts_out.rb +231 -0
  1463. data/lib/hanzoai/models/o11y_o11y_metric_attribute.rb +243 -0
  1464. data/lib/hanzoai/models/o11y_o11y_metric_attributes.rb +233 -0
  1465. data/lib/hanzoai/models/o11y_o11y_metric_attributes_out.rb +231 -0
  1466. data/lib/hanzoai/models/o11y_o11y_metric_dashboards.rb +223 -0
  1467. data/lib/hanzoai/models/o11y_o11y_metric_dashboards_out.rb +231 -0
  1468. data/lib/hanzoai/models/o11y_o11y_metric_field.rb +271 -0
  1469. data/lib/hanzoai/models/o11y_o11y_metric_filter.rb +221 -0
  1470. data/lib/hanzoai/models/o11y_o11y_metric_highlights.rb +251 -0
  1471. data/lib/hanzoai/models/o11y_o11y_metric_highlights_out.rb +231 -0
  1472. data/lib/hanzoai/models/o11y_o11y_metric_inspect_in.rb +302 -0
  1473. data/lib/hanzoai/models/o11y_o11y_metric_inspect_out.rb +231 -0
  1474. data/lib/hanzoai/models/o11y_o11y_metric_label.rb +231 -0
  1475. data/lib/hanzoai/models/o11y_o11y_metric_list.rb +223 -0
  1476. data/lib/hanzoai/models/o11y_o11y_metric_list_out.rb +231 -0
  1477. data/lib/hanzoai/models/o11y_o11y_metric_metadata.rb +261 -0
  1478. data/lib/hanzoai/models/o11y_o11y_metric_metadata_out.rb +231 -0
  1479. data/lib/hanzoai/models/o11y_o11y_metric_metadata_save_in.rb +288 -0
  1480. data/lib/hanzoai/models/o11y_o11y_metric_onboarding.rb +221 -0
  1481. data/lib/hanzoai/models/o11y_o11y_metric_onboarding_out.rb +231 -0
  1482. data/lib/hanzoai/models/o11y_o11y_metric_order.rb +231 -0
  1483. data/lib/hanzoai/models/o11y_o11y_metric_panel.rb +275 -0
  1484. data/lib/hanzoai/models/o11y_o11y_metric_point.rb +253 -0
  1485. data/lib/hanzoai/models/o11y_o11y_metric_series.rb +235 -0
  1486. data/lib/hanzoai/models/o11y_o11y_metric_series_set.rb +223 -0
  1487. data/lib/hanzoai/models/o11y_o11y_metric_stat.rb +271 -0
  1488. data/lib/hanzoai/models/o11y_o11y_metric_stats.rb +233 -0
  1489. data/lib/hanzoai/models/o11y_o11y_metric_stats_in.rb +322 -0
  1490. data/lib/hanzoai/models/o11y_o11y_metric_stats_out.rb +231 -0
  1491. data/lib/hanzoai/models/o11y_o11y_metric_summary.rb +271 -0
  1492. data/lib/hanzoai/models/o11y_o11y_metric_treemap.rb +235 -0
  1493. data/lib/hanzoai/models/o11y_o11y_metric_treemap_in.rb +329 -0
  1494. data/lib/hanzoai/models/o11y_o11y_metric_treemap_out.rb +231 -0
  1495. data/lib/hanzoai/models/o11y_o11y_metrics_query_range_out.rb +231 -0
  1496. data/lib/hanzoai/models/o11y_o11y_my_service_account_update_in.rb +221 -0
  1497. data/lib/hanzoai/models/o11y_o11y_namespace_list_out.rb +231 -0
  1498. data/lib/hanzoai/models/o11y_o11y_next_prev_error_ids.rb +261 -0
  1499. data/lib/hanzoai/models/o11y_o11y_node_list_out.rb +231 -0
  1500. data/lib/hanzoai/models/o11y_o11y_object.rb +231 -0
  1501. data/lib/hanzoai/models/o11y_o11y_object_group.rb +233 -0
  1502. data/lib/hanzoai/models/o11y_o11y_occurrence.rb +395 -0
  1503. data/lib/hanzoai/models/o11y_o11y_occurrence_frame.rb +281 -0
  1504. data/lib/hanzoai/models/o11y_o11y_oidc_config.rb +281 -0
  1505. data/lib/hanzoai/models/o11y_o11y_onboarding_out.rb +231 -0
  1506. data/lib/hanzoai/models/o11y_o11y_operation.rb +271 -0
  1507. data/lib/hanzoai/models/o11y_o11y_operations_in.rb +263 -0
  1508. data/lib/hanzoai/models/o11y_o11y_operations_out.rb +233 -0
  1509. data/lib/hanzoai/models/o11y_o11y_org_stats_out.rb +233 -0
  1510. data/lib/hanzoai/models/o11y_o11y_organization.rb +281 -0
  1511. data/lib/hanzoai/models/o11y_o11y_organization_out.rb +231 -0
  1512. data/lib/hanzoai/models/o11y_o11y_overall_state_transitions_out.rb +233 -0
  1513. data/lib/hanzoai/models/o11y_o11y_password_auth_n.rb +221 -0
  1514. data/lib/hanzoai/models/o11y_o11y_percentile_position.rb +231 -0
  1515. data/lib/hanzoai/models/o11y_o11y_percentiles.rb +241 -0
  1516. data/lib/hanzoai/models/o11y_o11y_pod_list_out.rb +231 -0
  1517. data/lib/hanzoai/models/o11y_o11y_pod_onboarding.rb +331 -0
  1518. data/lib/hanzoai/models/o11y_o11y_postable_auth_domain.rb +231 -0
  1519. data/lib/hanzoai/models/o11y_o11y_postable_user.rb +253 -0
  1520. data/lib/hanzoai/models/o11y_o11y_preference.rb +285 -0
  1521. data/lib/hanzoai/models/o11y_o11y_preference_out.rb +231 -0
  1522. data/lib/hanzoai/models/o11y_o11y_preferences_out.rb +233 -0
  1523. data/lib/hanzoai/models/o11y_o11y_process_list_out.rb +231 -0
  1524. data/lib/hanzoai/models/o11y_o11y_prom_query_out.rb +231 -0
  1525. data/lib/hanzoai/models/o11y_o11y_prom_result.rb +241 -0
  1526. data/lib/hanzoai/models/o11y_o11y_public_dashboard.rb +241 -0
  1527. data/lib/hanzoai/models/o11y_o11y_public_dashboard_data.rb +231 -0
  1528. data/lib/hanzoai/models/o11y_o11y_public_dashboard_data_out.rb +231 -0
  1529. data/lib/hanzoai/models/o11y_o11y_public_dashboard_out.rb +231 -0
  1530. data/lib/hanzoai/models/o11y_o11y_public_dashboard_v1.rb +301 -0
  1531. data/lib/hanzoai/models/o11y_o11y_public_dashboard_write_in.rb +239 -0
  1532. data/lib/hanzoai/models/o11y_o11y_pvc_list_out.rb +231 -0
  1533. data/lib/hanzoai/models/o11y_o11y_query_filter_analysis.rb +235 -0
  1534. data/lib/hanzoai/models/o11y_o11y_query_range.rb +251 -0
  1535. data/lib/hanzoai/models/o11y_o11y_query_range_data.rb +223 -0
  1536. data/lib/hanzoai/models/o11y_o11y_query_range_format_out.rb +231 -0
  1537. data/lib/hanzoai/models/o11y_o11y_query_range_out.rb +231 -0
  1538. data/lib/hanzoai/models/o11y_o11y_query_range_preview_in.rb +296 -0
  1539. data/lib/hanzoai/models/o11y_o11y_query_range_preview_out.rb +231 -0
  1540. data/lib/hanzoai/models/o11y_o11y_query_stats.rb +253 -0
  1541. data/lib/hanzoai/models/o11y_o11y_query_warning.rb +243 -0
  1542. data/lib/hanzoai/models/o11y_o11y_query_warning_note.rb +221 -0
  1543. data/lib/hanzoai/models/o11y_o11y_queue_check.rb +241 -0
  1544. data/lib/hanzoai/models/o11y_o11y_queue_checks_out.rb +233 -0
  1545. data/lib/hanzoai/models/o11y_o11y_queue_filter_key.rb +261 -0
  1546. data/lib/hanzoai/models/o11y_o11y_queue_filter_rule.rb +241 -0
  1547. data/lib/hanzoai/models/o11y_o11y_queue_filter_set.rb +233 -0
  1548. data/lib/hanzoai/models/o11y_o11y_queue_in.rb +253 -0
  1549. data/lib/hanzoai/models/o11y_o11y_queue_list_in.rb +251 -0
  1550. data/lib/hanzoai/models/o11y_o11y_queue_row.rb +233 -0
  1551. data/lib/hanzoai/models/o11y_o11y_queue_rows_out.rb +233 -0
  1552. data/lib/hanzoai/models/o11y_o11y_quick_filters_out.rb +233 -0
  1553. data/lib/hanzoai/models/o11y_o11y_reduction_rule.rb +353 -0
  1554. data/lib/hanzoai/models/o11y_o11y_reduction_rule_create_in.rb +294 -0
  1555. data/lib/hanzoai/models/o11y_o11y_reduction_rule_list_out.rb +231 -0
  1556. data/lib/hanzoai/models/o11y_o11y_reduction_rule_out.rb +231 -0
  1557. data/lib/hanzoai/models/o11y_o11y_reduction_rule_preview.rb +285 -0
  1558. data/lib/hanzoai/models/o11y_o11y_reduction_rule_preview_in.rb +304 -0
  1559. data/lib/hanzoai/models/o11y_o11y_reduction_rule_preview_out.rb +231 -0
  1560. data/lib/hanzoai/models/o11y_o11y_reduction_rule_save_in.rb +294 -0
  1561. data/lib/hanzoai/models/o11y_o11y_reduction_rules.rb +233 -0
  1562. data/lib/hanzoai/models/o11y_o11y_reduction_series_out.rb +231 -0
  1563. data/lib/hanzoai/models/o11y_o11y_reduction_series_result.rb +233 -0
  1564. data/lib/hanzoai/models/o11y_o11y_reduction_stats.rb +261 -0
  1565. data/lib/hanzoai/models/o11y_o11y_reduction_stats_out.rb +231 -0
  1566. data/lib/hanzoai/models/o11y_o11y_register_in.rb +278 -0
  1567. data/lib/hanzoai/models/o11y_o11y_register_out.rb +231 -0
  1568. data/lib/hanzoai/models/o11y_o11y_reset_password_in.rb +231 -0
  1569. data/lib/hanzoai/models/o11y_o11y_reset_token.rb +251 -0
  1570. data/lib/hanzoai/models/o11y_o11y_reset_token_out.rb +231 -0
  1571. data/lib/hanzoai/models/o11y_o11y_reset_token_ref.rb +221 -0
  1572. data/lib/hanzoai/models/o11y_o11y_resource_ref.rb +231 -0
  1573. data/lib/hanzoai/models/o11y_o11y_retention_match.rb +233 -0
  1574. data/lib/hanzoai/models/o11y_o11y_retention_out.rb +293 -0
  1575. data/lib/hanzoai/models/o11y_o11y_retention_rule.rb +233 -0
  1576. data/lib/hanzoai/models/o11y_o11y_retention_set_in.rb +263 -0
  1577. data/lib/hanzoai/models/o11y_o11y_retention_set_out.rb +221 -0
  1578. data/lib/hanzoai/models/o11y_o11y_retry.rb +221 -0
  1579. data/lib/hanzoai/models/o11y_o11y_role.rb +281 -0
  1580. data/lib/hanzoai/models/o11y_o11y_role_create_in.rb +243 -0
  1581. data/lib/hanzoai/models/o11y_o11y_role_create_out.rb +231 -0
  1582. data/lib/hanzoai/models/o11y_o11y_role_detail.rb +293 -0
  1583. data/lib/hanzoai/models/o11y_o11y_role_id.rb +221 -0
  1584. data/lib/hanzoai/models/o11y_o11y_role_mapping.rb +243 -0
  1585. data/lib/hanzoai/models/o11y_o11y_role_out.rb +231 -0
  1586. data/lib/hanzoai/models/o11y_o11y_role_update_in.rb +233 -0
  1587. data/lib/hanzoai/models/o11y_o11y_roles_out.rb +233 -0
  1588. data/lib/hanzoai/models/o11y_o11y_rotate_session_in.rb +221 -0
  1589. data/lib/hanzoai/models/o11y_o11y_route_policies_out.rb +233 -0
  1590. data/lib/hanzoai/models/o11y_o11y_route_policy_out.rb +231 -0
  1591. data/lib/hanzoai/models/o11y_o11y_route_policy_update_in.rb +270 -0
  1592. data/lib/hanzoai/models/o11y_o11y_rule_history_contributors_out.rb +233 -0
  1593. data/lib/hanzoai/models/o11y_o11y_rule_history_filter_keys_out.rb +231 -0
  1594. data/lib/hanzoai/models/o11y_o11y_rule_history_filter_values_out.rb +231 -0
  1595. data/lib/hanzoai/models/o11y_o11y_rule_history_overall_status_out.rb +233 -0
  1596. data/lib/hanzoai/models/o11y_o11y_rule_history_query_in.rb +274 -0
  1597. data/lib/hanzoai/models/o11y_o11y_rule_history_stats_out.rb +231 -0
  1598. data/lib/hanzoai/models/o11y_o11y_rule_history_timeline_out.rb +231 -0
  1599. data/lib/hanzoai/models/o11y_o11y_rule_out.rb +231 -0
  1600. data/lib/hanzoai/models/o11y_o11y_rule_state_contributors_out.rb +233 -0
  1601. data/lib/hanzoai/models/o11y_o11y_rule_state_timeline_out.rb +231 -0
  1602. data/lib/hanzoai/models/o11y_o11y_rule_stats_out.rb +231 -0
  1603. data/lib/hanzoai/models/o11y_o11y_rules_out.rb +233 -0
  1604. data/lib/hanzoai/models/o11y_o11y_saml_config.rb +261 -0
  1605. data/lib/hanzoai/models/o11y_o11y_saved_view_create_out.rb +231 -0
  1606. data/lib/hanzoai/models/o11y_o11y_saved_view_delete_out.rb +221 -0
  1607. data/lib/hanzoai/models/o11y_o11y_saved_view_list_out.rb +233 -0
  1608. data/lib/hanzoai/models/o11y_o11y_saved_view_out.rb +231 -0
  1609. data/lib/hanzoai/models/o11y_o11y_saved_view_update_in.rb +323 -0
  1610. data/lib/hanzoai/models/o11y_o11y_sentry_event_out.rb +231 -0
  1611. data/lib/hanzoai/models/o11y_o11y_sentry_issue_events_out.rb +231 -0
  1612. data/lib/hanzoai/models/o11y_o11y_sentry_postable_project.rb +258 -0
  1613. data/lib/hanzoai/models/o11y_o11y_sentry_project.rb +291 -0
  1614. data/lib/hanzoai/models/o11y_o11y_sentry_project_out.rb +231 -0
  1615. data/lib/hanzoai/models/o11y_o11y_sentry_projects.rb +233 -0
  1616. data/lib/hanzoai/models/o11y_o11y_sentry_projects_out.rb +231 -0
  1617. data/lib/hanzoai/models/o11y_o11y_sentry_update_issue_in.rb +258 -0
  1618. data/lib/hanzoai/models/o11y_o11y_service.rb +311 -0
  1619. data/lib/hanzoai/models/o11y_o11y_service_account.rb +281 -0
  1620. data/lib/hanzoai/models/o11y_o11y_service_account_create_in.rb +221 -0
  1621. data/lib/hanzoai/models/o11y_o11y_service_account_create_out.rb +231 -0
  1622. data/lib/hanzoai/models/o11y_o11y_service_account_detail.rb +293 -0
  1623. data/lib/hanzoai/models/o11y_o11y_service_account_out.rb +231 -0
  1624. data/lib/hanzoai/models/o11y_o11y_service_account_role.rb +271 -0
  1625. data/lib/hanzoai/models/o11y_o11y_service_account_role_grant_in.rb +221 -0
  1626. data/lib/hanzoai/models/o11y_o11y_service_account_roles_out.rb +233 -0
  1627. data/lib/hanzoai/models/o11y_o11y_service_account_update_in.rb +221 -0
  1628. data/lib/hanzoai/models/o11y_o11y_service_accounts_out.rb +233 -0
  1629. data/lib/hanzoai/models/o11y_o11y_service_out.rb +231 -0
  1630. data/lib/hanzoai/models/o11y_o11y_service_tag.rb +277 -0
  1631. data/lib/hanzoai/models/o11y_o11y_service_warning.rb +223 -0
  1632. data/lib/hanzoai/models/o11y_o11y_services_in.rb +243 -0
  1633. data/lib/hanzoai/models/o11y_o11y_services_metadata_out.rb +231 -0
  1634. data/lib/hanzoai/models/o11y_o11y_services_out.rb +233 -0
  1635. data/lib/hanzoai/models/o11y_o11y_session_context.rb +233 -0
  1636. data/lib/hanzoai/models/o11y_o11y_session_context_out.rb +231 -0
  1637. data/lib/hanzoai/models/o11y_o11y_session_org.rb +251 -0
  1638. data/lib/hanzoai/models/o11y_o11y_set_role_in.rb +221 -0
  1639. data/lib/hanzoai/models/o11y_o11y_signal_filters.rb +233 -0
  1640. data/lib/hanzoai/models/o11y_o11y_signal_filters_out.rb +231 -0
  1641. data/lib/hanzoai/models/o11y_o11y_span_mapper_create_in.rb +248 -0
  1642. data/lib/hanzoai/models/o11y_o11y_span_mapper_group_out.rb +231 -0
  1643. data/lib/hanzoai/models/o11y_o11y_span_mapper_group_update_in.rb +238 -0
  1644. data/lib/hanzoai/models/o11y_o11y_span_mapper_groups_out.rb +231 -0
  1645. data/lib/hanzoai/models/o11y_o11y_span_mapper_out.rb +231 -0
  1646. data/lib/hanzoai/models/o11y_o11y_span_mapper_update_in.rb +239 -0
  1647. data/lib/hanzoai/models/o11y_o11y_span_mappers_out.rb +231 -0
  1648. data/lib/hanzoai/models/o11y_o11y_span_percentile.rb +231 -0
  1649. data/lib/hanzoai/models/o11y_o11y_span_percentile_in.rb +307 -0
  1650. data/lib/hanzoai/models/o11y_o11y_span_percentile_out.rb +231 -0
  1651. data/lib/hanzoai/models/o11y_o11y_stat.rb +231 -0
  1652. data/lib/hanzoai/models/o11y_o11y_stateful_set_list_out.rb +231 -0
  1653. data/lib/hanzoai/models/o11y_o11y_stats.rb +223 -0
  1654. data/lib/hanzoai/models/o11y_o11y_stats_out.rb +231 -0
  1655. data/lib/hanzoai/models/o11y_o11y_substitute_vars_out.rb +231 -0
  1656. data/lib/hanzoai/models/o11y_o11y_table.rb +235 -0
  1657. data/lib/hanzoai/models/o11y_o11y_tag_filter.rb +277 -0
  1658. data/lib/hanzoai/models/o11y_o11y_tag_query.rb +277 -0
  1659. data/lib/hanzoai/models/o11y_o11y_telemetry_field.rb +241 -0
  1660. data/lib/hanzoai/models/o11y_o11y_test_notification_out.rb +231 -0
  1661. data/lib/hanzoai/models/o11y_o11y_test_notification_result.rb +231 -0
  1662. data/lib/hanzoai/models/o11y_o11y_test_rule_out.rb +231 -0
  1663. data/lib/hanzoai/models/o11y_o11y_toggle.rb +221 -0
  1664. data/lib/hanzoai/models/o11y_o11y_token.rb +251 -0
  1665. data/lib/hanzoai/models/o11y_o11y_token_out.rb +231 -0
  1666. data/lib/hanzoai/models/o11y_o11y_top_level_ops_in.rb +241 -0
  1667. data/lib/hanzoai/models/o11y_o11y_trace.rb +261 -0
  1668. data/lib/hanzoai/models/o11y_o11y_trace_aggregations_in.rb +222 -0
  1669. data/lib/hanzoai/models/o11y_o11y_trace_aggregations_out.rb +231 -0
  1670. data/lib/hanzoai/models/o11y_o11y_trace_detail.rb +233 -0
  1671. data/lib/hanzoai/models/o11y_o11y_trace_flamegraph_in.rb +231 -0
  1672. data/lib/hanzoai/models/o11y_o11y_trace_flamegraph_out.rb +231 -0
  1673. data/lib/hanzoai/models/o11y_o11y_trace_out.rb +231 -0
  1674. data/lib/hanzoai/models/o11y_o11y_trace_span_window.rb +265 -0
  1675. data/lib/hanzoai/models/o11y_o11y_trace_waterfall_in.rb +231 -0
  1676. data/lib/hanzoai/models/o11y_o11y_trace_waterfall_out.rb +231 -0
  1677. data/lib/hanzoai/models/o11y_o11y_traces.rb +223 -0
  1678. data/lib/hanzoai/models/o11y_o11y_traces_out.rb +231 -0
  1679. data/lib/hanzoai/models/o11y_o11y_transaction.rb +231 -0
  1680. data/lib/hanzoai/models/o11y_o11y_transaction_group.rb +231 -0
  1681. data/lib/hanzoai/models/o11y_o11y_transaction_result.rb +241 -0
  1682. data/lib/hanzoai/models/o11y_o11y_treemap_entry.rb +241 -0
  1683. data/lib/hanzoai/models/o11y_o11y_updatable_auth_domain.rb +221 -0
  1684. data/lib/hanzoai/models/o11y_o11y_updatable_preference.rb +221 -0
  1685. data/lib/hanzoai/models/o11y_o11y_updatable_quick_filters.rb +233 -0
  1686. data/lib/hanzoai/models/o11y_o11y_updatable_user.rb +221 -0
  1687. data/lib/hanzoai/models/o11y_o11y_update_account_in.rb +220 -0
  1688. data/lib/hanzoai/models/o11y_o11y_update_ingestion_key_in.rb +240 -0
  1689. data/lib/hanzoai/models/o11y_o11y_update_limit_in.rb +231 -0
  1690. data/lib/hanzoai/models/o11y_o11y_update_service_in.rb +220 -0
  1691. data/lib/hanzoai/models/o11y_o11y_usage_item.rb +241 -0
  1692. data/lib/hanzoai/models/o11y_o11y_user.rb +291 -0
  1693. data/lib/hanzoai/models/o11y_o11y_user_role.rb +271 -0
  1694. data/lib/hanzoai/models/o11y_o11y_user_update.rb +221 -0
  1695. data/lib/hanzoai/models/o11y_o11y_user_with_roles.rb +303 -0
  1696. data/lib/hanzoai/models/o11y_o11y_user_with_roles_out.rb +231 -0
  1697. data/lib/hanzoai/models/o11y_o11y_users_out.rb +233 -0
  1698. data/lib/hanzoai/models/o11y_o11y_version_out.rb +241 -0
  1699. data/lib/hanzoai/models/o11y_o11y_widget_query_range.rb +251 -0
  1700. data/lib/hanzoai/models/o11y_o11y_widget_query_range_out.rb +231 -0
  1701. data/lib/hanzoai/models/o11y_o_auth2.rb +418 -0
  1702. data/lib/hanzoai/models/o11y_old_aws_collection_strategy.rb +249 -0
  1703. data/lib/hanzoai/models/o11y_old_aws_logs_strategy.rb +222 -0
  1704. data/lib/hanzoai/models/o11y_old_aws_logs_strategy_cloudwatch_logs_subscriptions_inner.rb +229 -0
  1705. data/lib/hanzoai/models/o11y_old_aws_metrics_strategy.rb +222 -0
  1706. data/lib/hanzoai/models/o11y_old_aws_metrics_strategy_cloudwatch_metric_stream_filters_inner.rb +231 -0
  1707. data/lib/hanzoai/models/o11y_ops_genie_config.rb +361 -0
  1708. data/lib/hanzoai/models/o11y_ops_genie_config_responder.rb +249 -0
  1709. data/lib/hanzoai/models/o11y_order_by.rb +229 -0
  1710. data/lib/hanzoai/models/o11y_order_by_key.rb +285 -0
  1711. data/lib/hanzoai/models/o11y_otel_span_ref.rb +238 -0
  1712. data/lib/hanzoai/models/o11y_pagerduty_config.rb +392 -0
  1713. data/lib/hanzoai/models/o11y_pagerduty_image.rb +238 -0
  1714. data/lib/hanzoai/models/o11y_pagerduty_link.rb +229 -0
  1715. data/lib/hanzoai/models/o11y_pagination.rb +247 -0
  1716. data/lib/hanzoai/models/o11y_pod_count_by_phase.rb +256 -0
  1717. data/lib/hanzoai/models/o11y_pod_counts_by_phase.rb +256 -0
  1718. data/lib/hanzoai/models/o11y_pod_list_record.rb +303 -0
  1719. data/lib/hanzoai/models/o11y_pod_list_request.rb +278 -0
  1720. data/lib/hanzoai/models/o11y_pod_list_response.rb +240 -0
  1721. data/lib/hanzoai/models/o11y_pod_record.rb +313 -0
  1722. data/lib/hanzoai/models/o11y_pods.rb +259 -0
  1723. data/lib/hanzoai/models/o11y_point.rb +231 -0
  1724. data/lib/hanzoai/models/o11y_postable_account_config.rb +248 -0
  1725. data/lib/hanzoai/models/o11y_postable_channel.rb +231 -0
  1726. data/lib/hanzoai/models/o11y_postable_clusters.rb +276 -0
  1727. data/lib/hanzoai/models/o11y_postable_daemon_sets.rb +276 -0
  1728. data/lib/hanzoai/models/o11y_postable_deployments.rb +276 -0
  1729. data/lib/hanzoai/models/o11y_postable_host.rb +220 -0
  1730. data/lib/hanzoai/models/o11y_postable_hosts.rb +276 -0
  1731. data/lib/hanzoai/models/o11y_postable_ingestion_key.rb +240 -0
  1732. data/lib/hanzoai/models/o11y_postable_jobs.rb +276 -0
  1733. data/lib/hanzoai/models/o11y_postable_namespaces.rb +276 -0
  1734. data/lib/hanzoai/models/o11y_postable_nodes.rb +276 -0
  1735. data/lib/hanzoai/models/o11y_postable_pipeline.rb +285 -0
  1736. data/lib/hanzoai/models/o11y_postable_planned_maintenance.rb +259 -0
  1737. data/lib/hanzoai/models/o11y_postable_pods.rb +276 -0
  1738. data/lib/hanzoai/models/o11y_postable_profile.rb +294 -0
  1739. data/lib/hanzoai/models/o11y_postable_route_policy.rb +270 -0
  1740. data/lib/hanzoai/models/o11y_postable_span_mapper_group.rb +238 -0
  1741. data/lib/hanzoai/models/o11y_postable_stateful_sets.rb +276 -0
  1742. data/lib/hanzoai/models/o11y_postable_volumes.rb +276 -0
  1743. data/lib/hanzoai/models/o11y_process_list_record.rb +276 -0
  1744. data/lib/hanzoai/models/o11y_process_list_request.rb +278 -0
  1745. data/lib/hanzoai/models/o11y_process_list_response.rb +240 -0
  1746. data/lib/hanzoai/models/o11y_prom_query.rb +247 -0
  1747. data/lib/hanzoai/models/o11y_provider_integration_config.rb +238 -0
  1748. data/lib/hanzoai/models/o11y_pushover_config.rb +375 -0
  1749. data/lib/hanzoai/models/o11y_query_envelope.rb +231 -0
  1750. data/lib/hanzoai/models/o11y_query_range_params_v3.rb +277 -0
  1751. data/lib/hanzoai/models/o11y_query_range_request.rb +292 -0
  1752. data/lib/hanzoai/models/o11y_query_warn_data.rb +240 -0
  1753. data/lib/hanzoai/models/o11y_query_warn_data_additional.rb +220 -0
  1754. data/lib/hanzoai/models/o11y_querybuildertypesv5_composite_query.rb +223 -0
  1755. data/lib/hanzoai/models/o11y_querybuildertypesv5_order_by.rb +231 -0
  1756. data/lib/hanzoai/models/o11y_receiver.rb +419 -0
  1757. data/lib/hanzoai/models/o11y_rele_state_item.rb +239 -0
  1758. data/lib/hanzoai/models/o11y_rocketchat_attachment_action.rb +292 -0
  1759. data/lib/hanzoai/models/o11y_rocketchat_attachment_field.rb +238 -0
  1760. data/lib/hanzoai/models/o11y_rocketchat_config.rb +399 -0
  1761. data/lib/hanzoai/models/o11y_rule_state_history.rb +322 -0
  1762. data/lib/hanzoai/models/o11y_rule_state_history_contributor.rb +257 -0
  1763. data/lib/hanzoai/models/o11y_rule_state_timeline.rb +242 -0
  1764. data/lib/hanzoai/models/o11y_saved_view.rb +314 -0
  1765. data/lib/hanzoai/models/o11y_series.rb +244 -0
  1766. data/lib/hanzoai/models/o11y_service.rb +284 -0
  1767. data/lib/hanzoai/models/o11y_service_assets.rb +222 -0
  1768. data/lib/hanzoai/models/o11y_service_config.rb +238 -0
  1769. data/lib/hanzoai/models/o11y_service_dashboard.rb +238 -0
  1770. data/lib/hanzoai/models/o11y_service_metadata.rb +248 -0
  1771. data/lib/hanzoai/models/o11y_service_up.rb +231 -0
  1772. data/lib/hanzoai/models/o11y_sig_v4_config.rb +284 -0
  1773. data/lib/hanzoai/models/o11y_signal_connection_status.rb +231 -0
  1774. data/lib/hanzoai/models/o11y_slack_action.rb +274 -0
  1775. data/lib/hanzoai/models/o11y_slack_config.rb +474 -0
  1776. data/lib/hanzoai/models/o11y_slack_confirmation_field.rb +247 -0
  1777. data/lib/hanzoai/models/o11y_slack_field.rb +238 -0
  1778. data/lib/hanzoai/models/o11y_sns_config.rb +303 -0
  1779. data/lib/hanzoai/models/o11y_span_aggregation.rb +230 -0
  1780. data/lib/hanzoai/models/o11y_span_aggregation_result.rb +241 -0
  1781. data/lib/hanzoai/models/o11y_span_mapper.rb +304 -0
  1782. data/lib/hanzoai/models/o11y_span_mapper_config.rb +222 -0
  1783. data/lib/hanzoai/models/o11y_span_mapper_group.rb +294 -0
  1784. data/lib/hanzoai/models/o11y_span_mapper_group_condition.rb +233 -0
  1785. data/lib/hanzoai/models/o11y_span_mapper_source.rb +249 -0
  1786. data/lib/hanzoai/models/o11y_stateful_set_list_record.rb +312 -0
  1787. data/lib/hanzoai/models/o11y_stateful_set_list_request.rb +278 -0
  1788. data/lib/hanzoai/models/o11y_stateful_set_list_response.rb +240 -0
  1789. data/lib/hanzoai/models/o11y_stateful_set_record.rb +312 -0
  1790. data/lib/hanzoai/models/o11y_stateful_sets.rb +259 -0
  1791. data/lib/hanzoai/models/o11y_stats.rb +283 -0
  1792. data/lib/hanzoai/models/o11y_status_component.rb +241 -0
  1793. data/lib/hanzoai/models/o11y_status_incident.rb +293 -0
  1794. data/lib/hanzoai/models/o11y_status_maintenance.rb +303 -0
  1795. data/lib/hanzoai/models/o11y_status_result.rb +273 -0
  1796. data/lib/hanzoai/models/o11y_status_summary.rb +277 -0
  1797. data/lib/hanzoai/models/o11y_storable_funnel.rb +314 -0
  1798. data/lib/hanzoai/models/o11y_storable_integration_dashboard.rb +266 -0
  1799. data/lib/hanzoai/models/o11y_supported_signals.rb +229 -0
  1800. data/lib/hanzoai/models/o11y_telegram_config.rb +312 -0
  1801. data/lib/hanzoai/models/o11y_telemetry_field_key.rb +285 -0
  1802. data/lib/hanzoai/models/o11y_telemetry_field_values.rb +255 -0
  1803. data/lib/hanzoai/models/o11y_threading_config.rb +229 -0
  1804. data/lib/hanzoai/models/o11y_time_series.rb +233 -0
  1805. data/lib/hanzoai/models/o11y_tls_config.rb +341 -0
  1806. data/lib/hanzoai/models/o11y_trace_row.rb +261 -0
  1807. data/lib/hanzoai/models/o11y_traces_out.rb +253 -0
  1808. data/lib/hanzoai/models/o11y_uninstall_integration_request.rb +220 -0
  1809. data/lib/hanzoai/models/o11y_updatable_account_config.rb +238 -0
  1810. data/lib/hanzoai/models/o11y_updatable_azure_account_config.rb +222 -0
  1811. data/lib/hanzoai/models/o11y_updatable_gcp_account_config.rb +243 -0
  1812. data/lib/hanzoai/models/o11y_update_item_in.rb +251 -0
  1813. data/lib/hanzoai/models/o11y_update_queue_in.rb +253 -0
  1814. data/lib/hanzoai/models/o11y_usage_bucket.rb +251 -0
  1815. data/lib/hanzoai/models/o11y_user.rb +287 -0
  1816. data/lib/hanzoai/models/o11y_variable_item.rb +230 -0
  1817. data/lib/hanzoai/models/o11y_victor_ops_config.rb +314 -0
  1818. data/lib/hanzoai/models/o11y_volume_list_record.rb +285 -0
  1819. data/lib/hanzoai/models/o11y_volume_list_request.rb +278 -0
  1820. data/lib/hanzoai/models/o11y_volume_list_response.rb +240 -0
  1821. data/lib/hanzoai/models/o11y_volume_record.rb +285 -0
  1822. data/lib/hanzoai/models/o11y_volumes.rb +259 -0
  1823. data/lib/hanzoai/models/o11y_waterfall_span.rb +481 -0
  1824. data/lib/hanzoai/models/o11y_webex_config.rb +257 -0
  1825. data/lib/hanzoai/models/o11y_webhook_config.rb +268 -0
  1826. data/lib/hanzoai/models/o11y_wechat_config.rb +321 -0
  1827. data/lib/hanzoai/models/oauth_bundle_in.rb +241 -0
  1828. data/lib/hanzoai/models/object_item.rb +261 -0
  1829. data/lib/hanzoai/models/object_list.rb +253 -0
  1830. data/lib/hanzoai/models/obligation.rb +301 -0
  1831. data/lib/hanzoai/models/offer.rb +281 -0
  1832. data/lib/hanzoai/models/onboard_req.rb +231 -0
  1833. data/lib/hanzoai/models/onboard_resp.rb +261 -0
  1834. data/lib/hanzoai/models/op.rb +247 -0
  1835. data/lib/hanzoai/models/open_req.rb +261 -0
  1836. data/lib/hanzoai/models/opp_list.rb +223 -0
  1837. data/lib/hanzoai/models/opp_req.rb +291 -0
  1838. data/lib/hanzoai/models/opportunity.rb +311 -0
  1839. data/lib/hanzoai/models/optin_view.rb +231 -0
  1840. data/lib/hanzoai/models/oracle_view.rb +281 -0
  1841. data/lib/hanzoai/models/oracles_out.rb +223 -0
  1842. data/lib/hanzoai/models/order.rb +258 -0
  1843. data/lib/hanzoai/models/org_earning_view.rb +231 -0
  1844. data/lib/hanzoai/models/org_optin_req.rb +231 -0
  1845. data/lib/hanzoai/models/org_optin_view.rb +241 -0
  1846. data/lib/hanzoai/models/org_view.rb +271 -0
  1847. data/lib/hanzoai/models/outcome.rb +301 -0
  1848. data/lib/hanzoai/models/overview.rb +291 -0
  1849. data/lib/hanzoai/models/overview_view.rb +273 -0
  1850. data/lib/hanzoai/models/page.rb +251 -0
  1851. data/lib/hanzoai/models/pages_build_config.rb +241 -0
  1852. data/lib/hanzoai/models/pages_d1_binding.rb +221 -0
  1853. data/lib/hanzoai/models/pages_deploy.rb +220 -0
  1854. data/lib/hanzoai/models/pages_deployment_config.rb +281 -0
  1855. data/lib/hanzoai/models/pages_deployment_configs.rb +231 -0
  1856. data/lib/hanzoai/models/pages_env_var.rb +231 -0
  1857. data/lib/hanzoai/models/pages_kv_binding.rb +221 -0
  1858. data/lib/hanzoai/models/pages_project_create.rb +251 -0
  1859. data/lib/hanzoai/models/pages_r2_binding.rb +221 -0
  1860. data/lib/hanzoai/models/pairing.rb +311 -0
  1861. data/lib/hanzoai/models/pairing_approved.rb +231 -0
  1862. data/lib/hanzoai/models/pairing_queue.rb +223 -0
  1863. data/lib/hanzoai/models/pairing_view.rb +261 -0
  1864. data/lib/hanzoai/models/patch_application_in.rb +251 -0
  1865. data/lib/hanzoai/models/patch_flow_in.rb +261 -0
  1866. data/lib/hanzoai/models/patch_in.rb +231 -0
  1867. data/lib/hanzoai/models/patch_session_in.rb +291 -0
  1868. data/lib/hanzoai/models/patch_sync_in.rb +281 -0
  1869. data/lib/hanzoai/models/patch_target_in.rb +291 -0
  1870. data/lib/hanzoai/models/path_in.rb +231 -0
  1871. data/lib/hanzoai/models/payment_config.rb +256 -0
  1872. data/lib/hanzoai/models/payment_in.rb +251 -0
  1873. data/lib/hanzoai/models/payment_out.rb +261 -0
  1874. data/lib/hanzoai/models/payment_record.rb +291 -0
  1875. data/lib/hanzoai/models/payout.rb +329 -0
  1876. data/lib/hanzoai/models/period_earning_view.rb +241 -0
  1877. data/lib/hanzoai/models/pick_out.rb +233 -0
  1878. data/lib/hanzoai/models/pipeline_board.rb +223 -0
  1879. data/lib/hanzoai/models/pipeline_req.rb +233 -0
  1880. data/lib/hanzoai/models/pipeline_row.rb +271 -0
  1881. data/lib/hanzoai/models/pipeline_view.rb +283 -0
  1882. data/lib/hanzoai/models/plan_entitlements.rb +243 -0
  1883. data/lib/hanzoai/models/plan_health.rb +231 -0
  1884. data/lib/hanzoai/models/plan_info.rb +271 -0
  1885. data/lib/hanzoai/models/plan_list.rb +223 -0
  1886. data/lib/hanzoai/models/plan_region_list.rb +223 -0
  1887. data/lib/hanzoai/models/plan_resolution.rb +263 -0
  1888. data/lib/hanzoai/models/plan_schemas.rb +231 -0
  1889. data/lib/hanzoai/models/plan_tier_list.rb +223 -0
  1890. data/lib/hanzoai/models/plan_tool_list.rb +223 -0
  1891. data/lib/hanzoai/models/plan_vocab.rb +247 -0
  1892. data/lib/hanzoai/models/plugin_deleted.rb +221 -0
  1893. data/lib/hanzoai/models/plugin_mount.rb +243 -0
  1894. data/lib/hanzoai/models/plugin_mount_list.rb +223 -0
  1895. data/lib/hanzoai/models/pn_l.rb +285 -0
  1896. data/lib/hanzoai/models/pn_l_line.rb +251 -0
  1897. data/lib/hanzoai/models/point_view.rb +231 -0
  1898. data/lib/hanzoai/models/policy.rb +317 -0
  1899. data/lib/hanzoai/models/policy_list.rb +223 -0
  1900. data/lib/hanzoai/models/pool_create.rb +291 -0
  1901. data/lib/hanzoai/models/pool_scale.rb +251 -0
  1902. data/lib/hanzoai/models/populated_flow.rb +310 -0
  1903. data/lib/hanzoai/models/position.rb +231 -0
  1904. data/lib/hanzoai/models/post_event_request.rb +107 -0
  1905. data/lib/hanzoai/models/post_list.rb +223 -0
  1906. data/lib/hanzoai/models/prefs_view.rb +231 -0
  1907. data/lib/hanzoai/models/preset.rb +275 -0
  1908. data/lib/hanzoai/models/preset_accepted.rb +251 -0
  1909. data/lib/hanzoai/models/preset_list.rb +223 -0
  1910. data/lib/hanzoai/models/presign_response.rb +251 -0
  1911. data/lib/hanzoai/models/preview_req.rb +251 -0
  1912. data/lib/hanzoai/models/preview_view.rb +251 -0
  1913. data/lib/hanzoai/models/price.rb +241 -0
  1914. data/lib/hanzoai/models/pricing_health.rb +231 -0
  1915. data/lib/hanzoai/models/pricing_model_list.rb +243 -0
  1916. data/lib/hanzoai/models/pricing_plan_list.rb +223 -0
  1917. data/lib/hanzoai/models/pricing_preset_list.rb +223 -0
  1918. data/lib/hanzoai/models/pricing_provider_list.rb +233 -0
  1919. data/lib/hanzoai/models/pricing_region_list.rb +223 -0
  1920. data/lib/hanzoai/models/pricing_sync_out.rb +231 -0
  1921. data/lib/hanzoai/models/pricing_tier_list.rb +223 -0
  1922. data/lib/hanzoai/models/pricing_tool_list.rb +223 -0
  1923. data/lib/hanzoai/models/principle.rb +291 -0
  1924. data/lib/hanzoai/models/product_event.rb +311 -0
  1925. data/lib/hanzoai/models/product_row.rb +251 -0
  1926. data/lib/hanzoai/models/profile_metrics.rb +251 -0
  1927. data/lib/hanzoai/models/profile_response.rb +243 -0
  1928. data/lib/hanzoai/models/program_application.rb +375 -0
  1929. data/lib/hanzoai/models/progress_view.rb +251 -0
  1930. data/lib/hanzoai/models/project_view.rb +271 -0
  1931. data/lib/hanzoai/models/projection_view.rb +233 -0
  1932. data/lib/hanzoai/models/projects_bound_domains.rb +255 -0
  1933. data/lib/hanzoai/models/projects_build_site.rb +251 -0
  1934. data/lib/hanzoai/models/projects_complete.rb +303 -0
  1935. data/lib/hanzoai/models/projects_create.rb +300 -0
  1936. data/lib/hanzoai/models/projects_create_repo.rb +230 -0
  1937. data/lib/hanzoai/models/projects_deploy_site.rb +243 -0
  1938. data/lib/hanzoai/models/projects_deploy_start.rb +231 -0
  1939. data/lib/hanzoai/models/projects_deployment.rb +361 -0
  1940. data/lib/hanzoai/models/projects_domain.rb +283 -0
  1941. data/lib/hanzoai/models/projects_domains.rb +255 -0
  1942. data/lib/hanzoai/models/projects_domains_bind.rb +233 -0
  1943. data/lib/hanzoai/models/projects_file.rb +231 -0
  1944. data/lib/hanzoai/models/projects_fork.rb +251 -0
  1945. data/lib/hanzoai/models/projects_project.rb +473 -0
  1946. data/lib/hanzoai/models/projects_publish.rb +231 -0
  1947. data/lib/hanzoai/models/projects_release.rb +291 -0
  1948. data/lib/hanzoai/models/projects_repo.rb +241 -0
  1949. data/lib/hanzoai/models/projects_site.rb +261 -0
  1950. data/lib/hanzoai/models/projects_site_deploy.rb +273 -0
  1951. data/lib/hanzoai/models/projects_star.rb +221 -0
  1952. data/lib/hanzoai/models/projects_update.rb +332 -0
  1953. data/lib/hanzoai/models/projects_update_repo.rb +230 -0
  1954. data/lib/hanzoai/models/projects_upload_grant.rb +263 -0
  1955. data/lib/hanzoai/models/promo.rb +291 -0
  1956. data/lib/hanzoai/models/promo_list.rb +223 -0
  1957. data/lib/hanzoai/models/promo_status.rb +241 -0
  1958. data/lib/hanzoai/models/promote_req.rb +251 -0
  1959. data/lib/hanzoai/models/prompt_detail.rb +307 -0
  1960. data/lib/hanzoai/models/prompt_list.rb +223 -0
  1961. data/lib/hanzoai/models/prompt_meta.rb +277 -0
  1962. data/lib/hanzoai/models/prompt_req.rb +265 -0
  1963. data/lib/hanzoai/models/prop_spec.rb +257 -0
  1964. data/lib/hanzoai/models/provenance.rb +241 -0
  1965. data/lib/hanzoai/models/provider_breakdown.rb +243 -0
  1966. data/lib/hanzoai/models/provider_info.rb +231 -0
  1967. data/lib/hanzoai/models/provider_row.rb +251 -0
  1968. data/lib/hanzoai/models/provider_view.rb +281 -0
  1969. data/lib/hanzoai/models/provision_request.rb +231 -0
  1970. data/lib/hanzoai/models/provision_result.rb +311 -0
  1971. data/lib/hanzoai/models/provisioned_resource.rb +291 -0
  1972. data/lib/hanzoai/models/provisioned_summary.rb +281 -0
  1973. data/lib/hanzoai/models/publish_input.rb +241 -0
  1974. data/lib/hanzoai/models/publish_kit_in.rb +325 -0
  1975. data/lib/hanzoai/models/publish_req.rb +291 -0
  1976. data/lib/hanzoai/models/publish_result.rb +257 -0
  1977. data/lib/hanzoai/models/published_claim.rb +271 -0
  1978. data/lib/hanzoai/models/pull_list.rb +223 -0
  1979. data/lib/hanzoai/models/pull_view.rb +321 -0
  1980. data/lib/hanzoai/models/purge.rb +241 -0
  1981. data/lib/hanzoai/models/purge_in.rb +243 -0
  1982. data/lib/hanzoai/models/purge_out.rb +221 -0
  1983. data/lib/hanzoai/models/push.rb +256 -0
  1984. data/lib/hanzoai/models/push_file.rb +241 -0
  1985. data/lib/hanzoai/models/push_pusher.rb +229 -0
  1986. data/lib/hanzoai/models/push_repository.rb +229 -0
  1987. data/lib/hanzoai/models/push_req.rb +253 -0
  1988. data/lib/hanzoai/models/push_resp.rb +251 -0
  1989. data/lib/hanzoai/models/put_claims_in.rb +233 -0
  1990. data/lib/hanzoai/models/put_claims_out.rb +233 -0
  1991. data/lib/hanzoai/models/query.rb +271 -0
  1992. data/lib/hanzoai/models/question.rb +271 -0
  1993. data/lib/hanzoai/models/questions_response.rb +223 -0
  1994. data/lib/hanzoai/models/quote.rb +301 -0
  1995. data/lib/hanzoai/models/quote_list.rb +223 -0
  1996. data/lib/hanzoai/models/raise_in.rb +253 -0
  1997. data/lib/hanzoai/models/ran.rb +241 -0
  1998. data/lib/hanzoai/models/range.rb +231 -0
  1999. data/lib/hanzoai/models/rate_card.rb +241 -0
  2000. data/lib/hanzoai/models/reachability.rb +281 -0
  2001. data/lib/hanzoai/models/read_out.rb +223 -0
  2002. data/lib/hanzoai/models/readiness.rb +261 -0
  2003. data/lib/hanzoai/models/reading_req.rb +421 -0
  2004. data/lib/hanzoai/models/reading_view.rb +401 -0
  2005. data/lib/hanzoai/models/readme_json.rb +241 -0
  2006. data/lib/hanzoai/models/receipt.rb +331 -0
  2007. data/lib/hanzoai/models/recharge.rb +243 -0
  2008. data/lib/hanzoai/models/recharged.rb +274 -0
  2009. data/lib/hanzoai/models/reconcile_report.rb +303 -0
  2010. data/lib/hanzoai/models/reconcile_source.rb +241 -0
  2011. data/lib/hanzoai/models/record.rb +241 -0
  2012. data/lib/hanzoai/models/record_in.rb +238 -0
  2013. data/lib/hanzoai/models/record_list.rb +245 -0
  2014. data/lib/hanzoai/models/recording.rb +281 -0
  2015. data/lib/hanzoai/models/redeem_input.rb +231 -0
  2016. data/lib/hanzoai/models/redeem_result.rb +251 -0
  2017. data/lib/hanzoai/models/redemption.rb +261 -0
  2018. data/lib/hanzoai/models/ref_json.rb +231 -0
  2019. data/lib/hanzoai/models/reference_answer.rb +343 -0
  2020. data/lib/hanzoai/models/reference_out.rb +243 -0
  2021. data/lib/hanzoai/models/reference_override.rb +261 -0
  2022. data/lib/hanzoai/models/reference_override_in.rb +241 -0
  2023. data/lib/hanzoai/models/reference_receipt.rb +261 -0
  2024. data/lib/hanzoai/models/reference_set.rb +343 -0
  2025. data/lib/hanzoai/models/reference_sets_out.rb +247 -0
  2026. data/lib/hanzoai/models/reference_source.rb +291 -0
  2027. data/lib/hanzoai/models/reference_taken.rb +281 -0
  2028. data/lib/hanzoai/models/reference_version.rb +261 -0
  2029. data/lib/hanzoai/models/refresh_out.rb +231 -0
  2030. data/lib/hanzoai/models/refresh_reference_in.rb +243 -0
  2031. data/lib/hanzoai/models/refresh_reference_out.rb +253 -0
  2032. data/lib/hanzoai/models/refs_json.rb +245 -0
  2033. data/lib/hanzoai/models/register_counts.rb +233 -0
  2034. data/lib/hanzoai/models/register_key_req.rb +231 -0
  2035. data/lib/hanzoai/models/register_page.rb +253 -0
  2036. data/lib/hanzoai/models/register_req.rb +381 -0
  2037. data/lib/hanzoai/models/register_result.rb +231 -0
  2038. data/lib/hanzoai/models/registrant.rb +331 -0
  2039. data/lib/hanzoai/models/registration.rb +271 -0
  2040. data/lib/hanzoai/models/registration_view.rb +241 -0
  2041. data/lib/hanzoai/models/registry_image.rb +231 -0
  2042. data/lib/hanzoai/models/registry_image_list.rb +233 -0
  2043. data/lib/hanzoai/models/registry_mint.rb +221 -0
  2044. data/lib/hanzoai/models/registry_package.rb +251 -0
  2045. data/lib/hanzoai/models/registry_package_list.rb +223 -0
  2046. data/lib/hanzoai/models/registry_project.rb +241 -0
  2047. data/lib/hanzoai/models/registry_project_list.rb +223 -0
  2048. data/lib/hanzoai/models/registry_status.rb +271 -0
  2049. data/lib/hanzoai/models/registry_tag_list.rb +243 -0
  2050. data/lib/hanzoai/models/registry_token.rb +241 -0
  2051. data/lib/hanzoai/models/release_board.rb +223 -0
  2052. data/lib/hanzoai/models/release_row.rb +271 -0
  2053. data/lib/hanzoai/models/remittance.rb +271 -0
  2054. data/lib/hanzoai/models/renew_req.rb +248 -0
  2055. data/lib/hanzoai/models/renew_result.rb +231 -0
  2056. data/lib/hanzoai/models/replace_kit_in.rb +325 -0
  2057. data/lib/hanzoai/models/replay_body.rb +249 -0
  2058. data/lib/hanzoai/models/repo_list.rb +223 -0
  2059. data/lib/hanzoai/models/repo_tree.rb +233 -0
  2060. data/lib/hanzoai/models/repo_view.rb +353 -0
  2061. data/lib/hanzoai/models/report.rb +265 -0
  2062. data/lib/hanzoai/models/report_out.rb +221 -0
  2063. data/lib/hanzoai/models/report_req.rb +433 -0
  2064. data/lib/hanzoai/models/report_resp.rb +231 -0
  2065. data/lib/hanzoai/models/report_run_in.rb +291 -0
  2066. data/lib/hanzoai/models/request.rb +283 -0
  2067. data/lib/hanzoai/models/resolve_reference_in.rb +235 -0
  2068. data/lib/hanzoai/models/resolve_reference_out.rb +259 -0
  2069. data/lib/hanzoai/models/resource_usage.rb +251 -0
  2070. data/lib/hanzoai/models/responsible.rb +251 -0
  2071. data/lib/hanzoai/models/restart_ref.rb +231 -0
  2072. data/lib/hanzoai/models/restarted.rb +261 -0
  2073. data/lib/hanzoai/models/review_queue.rb +233 -0
  2074. data/lib/hanzoai/models/review_request.rb +273 -0
  2075. data/lib/hanzoai/models/revoke_resp.rb +243 -0
  2076. data/lib/hanzoai/models/revoked_key.rb +231 -0
  2077. data/lib/hanzoai/models/risk_adopt_in.rb +221 -0
  2078. data/lib/hanzoai/models/risk_aggregates.rb +251 -0
  2079. data/lib/hanzoai/models/risk_appetite_in.rb +241 -0
  2080. data/lib/hanzoai/models/risk_band.rb +291 -0
  2081. data/lib/hanzoai/models/risk_catalog.rb +267 -0
  2082. data/lib/hanzoai/models/risk_cause.rb +311 -0
  2083. data/lib/hanzoai/models/risk_dataset.rb +341 -0
  2084. data/lib/hanzoai/models/risk_dataset_disposal.rb +241 -0
  2085. data/lib/hanzoai/models/risk_dataset_list.rb +223 -0
  2086. data/lib/hanzoai/models/risk_dataset_row.rb +273 -0
  2087. data/lib/hanzoai/models/risk_dataset_rows.rb +285 -0
  2088. data/lib/hanzoai/models/risk_dataset_spec.rb +305 -0
  2089. data/lib/hanzoai/models/risk_dataset_versions.rb +233 -0
  2090. data/lib/hanzoai/models/risk_dispose_in.rb +221 -0
  2091. data/lib/hanzoai/models/risk_dispose_out.rb +281 -0
  2092. data/lib/hanzoai/models/risk_event.rb +281 -0
  2093. data/lib/hanzoai/models/risk_hold_in.rb +233 -0
  2094. data/lib/hanzoai/models/risk_hold_out.rb +251 -0
  2095. data/lib/hanzoai/models/risk_label_coverage.rb +363 -0
  2096. data/lib/hanzoai/models/risk_label_event.rb +241 -0
  2097. data/lib/hanzoai/models/risk_label_fact.rb +291 -0
  2098. data/lib/hanzoai/models/risk_label_in.rb +223 -0
  2099. data/lib/hanzoai/models/risk_label_out.rb +273 -0
  2100. data/lib/hanzoai/models/risk_label_record.rb +341 -0
  2101. data/lib/hanzoai/models/risk_label_result.rb +241 -0
  2102. data/lib/hanzoai/models/risk_label_vocabulary.rb +269 -0
  2103. data/lib/hanzoai/models/risk_labels_out.rb +233 -0
  2104. data/lib/hanzoai/models/risk_learn_in.rb +223 -0
  2105. data/lib/hanzoai/models/risk_learn_out.rb +221 -0
  2106. data/lib/hanzoai/models/risk_lineage.rb +351 -0
  2107. data/lib/hanzoai/models/risk_model_feature.rb +301 -0
  2108. data/lib/hanzoai/models/risk_model_state.rb +397 -0
  2109. data/lib/hanzoai/models/risk_model_value.rb +271 -0
  2110. data/lib/hanzoai/models/risk_org_feature.rb +291 -0
  2111. data/lib/hanzoai/models/risk_policy_out.rb +273 -0
  2112. data/lib/hanzoai/models/risk_policy_version.rb +271 -0
  2113. data/lib/hanzoai/models/risk_publish_out.rb +241 -0
  2114. data/lib/hanzoai/models/risk_resolve_in.rb +243 -0
  2115. data/lib/hanzoai/models/risk_resolve_out.rb +263 -0
  2116. data/lib/hanzoai/models/risk_resolved.rb +333 -0
  2117. data/lib/hanzoai/models/risk_score_in.rb +221 -0
  2118. data/lib/hanzoai/models/risk_score_out.rb +315 -0
  2119. data/lib/hanzoai/models/risk_search_in.rb +221 -0
  2120. data/lib/hanzoai/models/risk_search_report.rb +313 -0
  2121. data/lib/hanzoai/models/risk_search_run.rb +241 -0
  2122. data/lib/hanzoai/models/risk_source_coverage.rb +241 -0
  2123. data/lib/hanzoai/models/risk_split_counts.rb +291 -0
  2124. data/lib/hanzoai/models/risk_surface.rb +271 -0
  2125. data/lib/hanzoai/models/risk_topology.rb +271 -0
  2126. data/lib/hanzoai/models/risk_trial.rb +313 -0
  2127. data/lib/hanzoai/models/risk_value.rb +271 -0
  2128. data/lib/hanzoai/models/role_assignment.rb +231 -0
  2129. data/lib/hanzoai/models/role_list.rb +223 -0
  2130. data/lib/hanzoai/models/rollback_req.rb +241 -0
  2131. data/lib/hanzoai/models/rollup.rb +294 -0
  2132. data/lib/hanzoai/models/rollup_allotment.rb +247 -0
  2133. data/lib/hanzoai/models/rollup_balance.rb +238 -0
  2134. data/lib/hanzoai/models/room_work.rb +263 -0
  2135. data/lib/hanzoai/models/root.rb +233 -0
  2136. data/lib/hanzoai/models/round_input.rb +271 -0
  2137. data/lib/hanzoai/models/round_out.rb +221 -0
  2138. data/lib/hanzoai/models/route.rb +283 -0
  2139. data/lib/hanzoai/models/route_candidate.rb +321 -0
  2140. data/lib/hanzoai/models/route_create_in.rb +241 -0
  2141. data/lib/hanzoai/models/route_plan.rb +243 -0
  2142. data/lib/hanzoai/models/routed_run_out.rb +291 -0
  2143. data/lib/hanzoai/models/routed_usage.rb +301 -0
  2144. data/lib/hanzoai/models/router_list.rb +223 -0
  2145. data/lib/hanzoai/models/router_view.rb +251 -0
  2146. data/lib/hanzoai/models/rpc_error.rb +231 -0
  2147. data/lib/hanzoai/models/rpc_in.rb +261 -0
  2148. data/lib/hanzoai/models/rpc_out.rb +251 -0
  2149. data/lib/hanzoai/models/rule.rb +241 -0
  2150. data/lib/hanzoai/models/rule_list.rb +223 -0
  2151. data/lib/hanzoai/models/rule_view.rb +251 -0
  2152. data/lib/hanzoai/models/rules_out.rb +223 -0
  2153. data/lib/hanzoai/models/ruleset.rb +231 -0
  2154. data/lib/hanzoai/models/run_in.rb +253 -0
  2155. data/lib/hanzoai/models/run_list.rb +223 -0
  2156. data/lib/hanzoai/models/run_page.rb +223 -0
  2157. data/lib/hanzoai/models/run_point.rb +261 -0
  2158. data/lib/hanzoai/models/run_record.rb +301 -0
  2159. data/lib/hanzoai/models/run_req.rb +303 -0
  2160. data/lib/hanzoai/models/run_request.rb +295 -0
  2161. data/lib/hanzoai/models/run_resp.rb +241 -0
  2162. data/lib/hanzoai/models/run_summary.rb +293 -0
  2163. data/lib/hanzoai/models/run_view.rb +261 -0
  2164. data/lib/hanzoai/models/runner_build_req.rb +355 -0
  2165. data/lib/hanzoai/models/runner_build_resp.rb +271 -0
  2166. data/lib/hanzoai/models/runs.rb +223 -0
  2167. data/lib/hanzoai/models/s3_health.rb +261 -0
  2168. data/lib/hanzoai/models/safe_in.rb +235 -0
  2169. data/lib/hanzoai/models/safe_out.rb +231 -0
  2170. data/lib/hanzoai/models/safe_proposal.rb +261 -0
  2171. data/lib/hanzoai/models/safe_tx_in.rb +261 -0
  2172. data/lib/hanzoai/models/sample_accepted.rb +221 -0
  2173. data/lib/hanzoai/models/sample_ingest.rb +281 -0
  2174. data/lib/hanzoai/models/sample_list.rb +223 -0
  2175. data/lib/hanzoai/models/sample_req.rb +421 -0
  2176. data/lib/hanzoai/models/sample_view.rb +371 -0
  2177. data/lib/hanzoai/models/sandbox.rb +351 -0
  2178. data/lib/hanzoai/models/sandbox_list.rb +223 -0
  2179. data/lib/hanzoai/models/sbom_health.rb +251 -0
  2180. data/lib/hanzoai/models/sbom_ingest.rb +271 -0
  2181. data/lib/hanzoai/models/sbom_ingested.rb +231 -0
  2182. data/lib/hanzoai/models/scan.rb +231 -0
  2183. data/lib/hanzoai/models/scan_detail.rb +233 -0
  2184. data/lib/hanzoai/models/scan_draft.rb +285 -0
  2185. data/lib/hanzoai/models/scan_list.rb +223 -0
  2186. data/lib/hanzoai/models/scan_view.rb +301 -0
  2187. data/lib/hanzoai/models/schedule_input.rb +231 -0
  2188. data/lib/hanzoai/models/scope.rb +221 -0
  2189. data/lib/hanzoai/models/score_config_list.rb +223 -0
  2190. data/lib/hanzoai/models/score_config_req.rb +280 -0
  2191. data/lib/hanzoai/models/score_config_view.rb +283 -0
  2192. data/lib/hanzoai/models/score_list.rb +223 -0
  2193. data/lib/hanzoai/models/score_req.rb +318 -0
  2194. data/lib/hanzoai/models/score_view.rb +301 -0
  2195. data/lib/hanzoai/models/screen_result.rb +301 -0
  2196. data/lib/hanzoai/models/search_in.rb +253 -0
  2197. data/lib/hanzoai/models/search_out.rb +233 -0
  2198. data/lib/hanzoai/models/search_results.rb +253 -0
  2199. data/lib/hanzoai/models/secret_list.rb +223 -0
  2200. data/lib/hanzoai/models/secret_meta.rb +251 -0
  2201. data/lib/hanzoai/models/secret_view.rb +241 -0
  2202. data/lib/hanzoai/models/section.rb +261 -0
  2203. data/lib/hanzoai/models/section_write.rb +251 -0
  2204. data/lib/hanzoai/models/self_rank.rb +301 -0
  2205. data/lib/hanzoai/models/seo_audit_in.rb +221 -0
  2206. data/lib/hanzoai/models/seo_audit_out.rb +293 -0
  2207. data/lib/hanzoai/models/seo_backlink_in.rb +221 -0
  2208. data/lib/hanzoai/models/seo_backlink_out.rb +301 -0
  2209. data/lib/hanzoai/models/seo_charge.rb +241 -0
  2210. data/lib/hanzoai/models/seo_competitor_in.rb +253 -0
  2211. data/lib/hanzoai/models/seo_competitor_out.rb +243 -0
  2212. data/lib/hanzoai/models/seo_domain.rb +261 -0
  2213. data/lib/hanzoai/models/seo_idea_in.rb +253 -0
  2214. data/lib/hanzoai/models/seo_idea_out.rb +243 -0
  2215. data/lib/hanzoai/models/seo_keyword_in.rb +243 -0
  2216. data/lib/hanzoai/models/seo_keyword_out.rb +233 -0
  2217. data/lib/hanzoai/models/seo_metric.rb +271 -0
  2218. data/lib/hanzoai/models/seo_rank_in.rb +251 -0
  2219. data/lib/hanzoai/models/seo_rank_out.rb +243 -0
  2220. data/lib/hanzoai/models/seo_ranking.rb +271 -0
  2221. data/lib/hanzoai/models/seo_rate_out.rb +223 -0
  2222. data/lib/hanzoai/models/sequence.rb +261 -0
  2223. data/lib/hanzoai/models/sequence_list.rb +223 -0
  2224. data/lib/hanzoai/models/sequence_status.rb +231 -0
  2225. data/lib/hanzoai/models/sequence_view.rb +233 -0
  2226. data/lib/hanzoai/models/sequences.rb +231 -0
  2227. data/lib/hanzoai/models/series_line.rb +233 -0
  2228. data/lib/hanzoai/models/series_point.rb +231 -0
  2229. data/lib/hanzoai/models/session_detail.rb +487 -0
  2230. data/lib/hanzoai/models/session_ended.rb +231 -0
  2231. data/lib/hanzoai/models/session_list.rb +223 -0
  2232. data/lib/hanzoai/models/session_progress.rb +261 -0
  2233. data/lib/hanzoai/models/session_user.rb +273 -0
  2234. data/lib/hanzoai/models/session_view.rb +491 -0
  2235. data/lib/hanzoai/models/set_env_req.rb +243 -0
  2236. data/lib/hanzoai/models/set_reference_in.rb +223 -0
  2237. data/lib/hanzoai/models/set_reference_out.rb +241 -0
  2238. data/lib/hanzoai/models/settings_req.rb +245 -0
  2239. data/lib/hanzoai/models/settings_view.rb +263 -0
  2240. data/lib/hanzoai/models/share_policy.rb +229 -0
  2241. data/lib/hanzoai/models/share_view.rb +261 -0
  2242. data/lib/hanzoai/models/shares_out.rb +223 -0
  2243. data/lib/hanzoai/models/sign_in.rb +231 -0
  2244. data/lib/hanzoai/models/sign_reply.rb +241 -0
  2245. data/lib/hanzoai/models/sign_request.rb +233 -0
  2246. data/lib/hanzoai/models/signature.rb +251 -0
  2247. data/lib/hanzoai/models/signer.rb +231 -0
  2248. data/lib/hanzoai/models/skill.rb +271 -0
  2249. data/lib/hanzoai/models/skill_deleted.rb +221 -0
  2250. data/lib/hanzoai/models/skill_in.rb +241 -0
  2251. data/lib/hanzoai/models/skill_written.rb +221 -0
  2252. data/lib/hanzoai/models/slot_view.rb +331 -0
  2253. data/lib/hanzoai/models/sms.rb +271 -0
  2254. data/lib/hanzoai/models/social_account.rb +271 -0
  2255. data/lib/hanzoai/models/social_account_body.rb +241 -0
  2256. data/lib/hanzoai/models/social_account_write.rb +241 -0
  2257. data/lib/hanzoai/models/social_accounts.rb +223 -0
  2258. data/lib/hanzoai/models/social_post.rb +323 -0
  2259. data/lib/hanzoai/models/social_post_body.rb +263 -0
  2260. data/lib/hanzoai/models/social_post_write.rb +263 -0
  2261. data/lib/hanzoai/models/social_posts.rb +223 -0
  2262. data/lib/hanzoai/models/social_provider.rb +243 -0
  2263. data/lib/hanzoai/models/social_providers.rb +223 -0
  2264. data/lib/hanzoai/models/social_summary.rb +251 -0
  2265. data/lib/hanzoai/models/source.rb +261 -0
  2266. data/lib/hanzoai/models/source_failure.rb +231 -0
  2267. data/lib/hanzoai/models/source_state.rb +251 -0
  2268. data/lib/hanzoai/models/source_tool_list.rb +233 -0
  2269. data/lib/hanzoai/models/sources.rb +231 -0
  2270. data/lib/hanzoai/models/span.rb +311 -0
  2271. data/lib/hanzoai/models/span_body.rb +265 -0
  2272. data/lib/hanzoai/models/spec.rb +263 -0
  2273. data/lib/hanzoai/models/spend.rb +305 -0
  2274. data/lib/hanzoai/models/spend_point.rb +231 -0
  2275. data/lib/hanzoai/models/stage_event.rb +261 -0
  2276. data/lib/hanzoai/models/starter_kit.rb +355 -0
  2277. data/lib/hanzoai/models/state.rb +301 -0
  2278. data/lib/hanzoai/models/state_graph.rb +255 -0
  2279. data/lib/hanzoai/models/stats_out.rb +241 -0
  2280. data/lib/hanzoai/models/stats_sessions.rb +223 -0
  2281. data/lib/hanzoai/models/stats_user.rb +221 -0
  2282. data/lib/hanzoai/models/status_breakdown.rb +241 -0
  2283. data/lib/hanzoai/models/status_counts.rb +241 -0
  2284. data/lib/hanzoai/models/status_view.rb +241 -0
  2285. data/lib/hanzoai/models/step.rb +281 -0
  2286. data/lib/hanzoai/models/step_input.rb +251 -0
  2287. data/lib/hanzoai/models/step_list.rb +223 -0
  2288. data/lib/hanzoai/models/step_settings.rb +258 -0
  2289. data/lib/hanzoai/models/step_view.rb +377 -0
  2290. data/lib/hanzoai/models/stop_in.rb +221 -0
  2291. data/lib/hanzoai/models/stopped.rb +221 -0
  2292. data/lib/hanzoai/models/storefront_result.rb +251 -0
  2293. data/lib/hanzoai/models/strategy.rb +313 -0
  2294. data/lib/hanzoai/models/strategy_view.rb +263 -0
  2295. data/lib/hanzoai/models/stream.rb +251 -0
  2296. data/lib/hanzoai/models/streams.rb +233 -0
  2297. data/lib/hanzoai/models/structure_in.rb +241 -0
  2298. data/lib/hanzoai/models/subdomain_set_in.rb +231 -0
  2299. data/lib/hanzoai/models/subject.rb +291 -0
  2300. data/lib/hanzoai/models/subject_list.rb +223 -0
  2301. data/lib/hanzoai/models/subject_req.rb +251 -0
  2302. data/lib/hanzoai/models/subject_summary.rb +261 -0
  2303. data/lib/hanzoai/models/submit_req.rb +250 -0
  2304. data/lib/hanzoai/models/subprocessor_list.rb +223 -0
  2305. data/lib/hanzoai/models/subscribe_req.rb +243 -0
  2306. data/lib/hanzoai/models/subscription.rb +374 -0
  2307. data/lib/hanzoai/models/subscription_list.rb +223 -0
  2308. data/lib/hanzoai/models/subscription_plan.rb +256 -0
  2309. data/lib/hanzoai/models/subscription_ref.rb +230 -0
  2310. data/lib/hanzoai/models/subscription_view.rb +263 -0
  2311. data/lib/hanzoai/models/subscriptions.rb +232 -0
  2312. data/lib/hanzoai/models/suggest_response.rb +265 -0
  2313. data/lib/hanzoai/models/suggestion.rb +271 -0
  2314. data/lib/hanzoai/models/suite.rb +270 -0
  2315. data/lib/hanzoai/models/summary.rb +241 -0
  2316. data/lib/hanzoai/models/summary_resp.rb +273 -0
  2317. data/lib/hanzoai/models/summary_view.rb +231 -0
  2318. data/lib/hanzoai/models/suppression.rb +251 -0
  2319. data/lib/hanzoai/models/suppression_list.rb +223 -0
  2320. data/lib/hanzoai/models/symbol.rb +251 -0
  2321. data/lib/hanzoai/models/sync_list.rb +223 -0
  2322. data/lib/hanzoai/models/sync_queued.rb +231 -0
  2323. data/lib/hanzoai/models/sync_req.rb +281 -0
  2324. data/lib/hanzoai/models/sync_tally.rb +231 -0
  2325. data/lib/hanzoai/models/sync_view.rb +301 -0
  2326. data/lib/hanzoai/models/tag_config.rb +222 -0
  2327. data/lib/hanzoai/models/target_deleted.rb +231 -0
  2328. data/lib/hanzoai/models/target_list.rb +223 -0
  2329. data/lib/hanzoai/models/target_req.rb +281 -0
  2330. data/lib/hanzoai/models/target_view.rb +341 -0
  2331. data/lib/hanzoai/models/tariff.rb +283 -0
  2332. data/lib/hanzoai/models/tariff_in.rb +251 -0
  2333. data/lib/hanzoai/models/taxon.rb +335 -0
  2334. data/lib/hanzoai/models/taxon_in.rb +325 -0
  2335. data/lib/hanzoai/models/taxonomy.rb +223 -0
  2336. data/lib/hanzoai/models/team_room.rb +315 -0
  2337. data/lib/hanzoai/models/team_room_bind.rb +253 -0
  2338. data/lib/hanzoai/models/team_rooms.rb +223 -0
  2339. data/lib/hanzoai/models/template_catalog.rb +233 -0
  2340. data/lib/hanzoai/models/template_override.rb +273 -0
  2341. data/lib/hanzoai/models/template_reply.rb +231 -0
  2342. data/lib/hanzoai/models/template_view.rb +283 -0
  2343. data/lib/hanzoai/models/test_result.rb +251 -0
  2344. data/lib/hanzoai/models/ticket_grant.rb +241 -0
  2345. data/lib/hanzoai/models/tier.rb +249 -0
  2346. data/lib/hanzoai/models/tier_balance.rb +256 -0
  2347. data/lib/hanzoai/models/tier_limits.rb +268 -0
  2348. data/lib/hanzoai/models/timeseries.rb +283 -0
  2349. data/lib/hanzoai/models/tls_config.rb +243 -0
  2350. data/lib/hanzoai/models/todo_project.rb +281 -0
  2351. data/lib/hanzoai/models/tool.rb +281 -0
  2352. data/lib/hanzoai/models/tool_call.rb +233 -0
  2353. data/lib/hanzoai/models/tool_list.rb +223 -0
  2354. data/lib/hanzoai/models/tool_result.rb +231 -0
  2355. data/lib/hanzoai/models/top.rb +301 -0
  2356. data/lib/hanzoai/models/top_models.rb +243 -0
  2357. data/lib/hanzoai/models/top_products.rb +253 -0
  2358. data/lib/hanzoai/models/topup_in.rb +251 -0
  2359. data/lib/hanzoai/models/total_view.rb +311 -0
  2360. data/lib/hanzoai/models/trace_list.rb +223 -0
  2361. data/lib/hanzoai/models/trace_view.rb +361 -0
  2362. data/lib/hanzoai/models/traffic_caller.rb +281 -0
  2363. data/lib/hanzoai/models/traffic_view.rb +355 -0
  2364. data/lib/hanzoai/models/trail_page.rb +253 -0
  2365. data/lib/hanzoai/models/transaction.rb +293 -0
  2366. data/lib/hanzoai/models/transactions.rb +240 -0
  2367. data/lib/hanzoai/models/transactions_out.rb +223 -0
  2368. data/lib/hanzoai/models/transfer_req.rb +275 -0
  2369. data/lib/hanzoai/models/transition_in.rb +251 -0
  2370. data/lib/hanzoai/models/transition_result.rb +271 -0
  2371. data/lib/hanzoai/models/treasury_report.rb +273 -0
  2372. data/lib/hanzoai/models/tree_entry.rb +241 -0
  2373. data/lib/hanzoai/models/tree_entry_json.rb +261 -0
  2374. data/lib/hanzoai/models/tree_json.rb +223 -0
  2375. data/lib/hanzoai/models/tree_node.rb +233 -0
  2376. data/lib/hanzoai/models/trial.rb +353 -0
  2377. data/lib/hanzoai/models/trial_balance.rb +273 -0
  2378. data/lib/hanzoai/models/trial_balance_row.rb +301 -0
  2379. data/lib/hanzoai/models/trigger_list.rb +223 -0
  2380. data/lib/hanzoai/models/trigger_view.rb +271 -0
  2381. data/lib/hanzoai/models/trust_ask.rb +271 -0
  2382. data/lib/hanzoai/models/trust_ask_view.rb +341 -0
  2383. data/lib/hanzoai/models/trust_asked.rb +231 -0
  2384. data/lib/hanzoai/models/trust_coverage.rb +253 -0
  2385. data/lib/hanzoai/models/trust_decision.rb +241 -0
  2386. data/lib/hanzoai/models/trust_desk.rb +287 -0
  2387. data/lib/hanzoai/models/trust_documents.rb +223 -0
  2388. data/lib/hanzoai/models/trust_edit.rb +291 -0
  2389. data/lib/hanzoai/models/trust_grant_view.rb +261 -0
  2390. data/lib/hanzoai/models/trust_granted.rb +251 -0
  2391. data/lib/hanzoai/models/trust_item.rb +301 -0
  2392. data/lib/hanzoai/models/trust_item_view.rb +331 -0
  2393. data/lib/hanzoai/models/trust_page.rb +253 -0
  2394. data/lib/hanzoai/models/trust_publish.rb +291 -0
  2395. data/lib/hanzoai/models/trust_refused.rb +221 -0
  2396. data/lib/hanzoai/models/trust_settings.rb +251 -0
  2397. data/lib/hanzoai/models/trust_tally.rb +271 -0
  2398. data/lib/hanzoai/models/txn.rb +291 -0
  2399. data/lib/hanzoai/models/unreadable.rb +220 -0
  2400. data/lib/hanzoai/models/unreconciled_out.rb +235 -0
  2401. data/lib/hanzoai/models/unsubscribed.rb +241 -0
  2402. data/lib/hanzoai/models/update_agent_in.rb +303 -0
  2403. data/lib/hanzoai/models/update_campaign_in.rb +281 -0
  2404. data/lib/hanzoai/models/update_endpoint_in.rb +253 -0
  2405. data/lib/hanzoai/models/update_list.rb +223 -0
  2406. data/lib/hanzoai/models/upkeep.rb +273 -0
  2407. data/lib/hanzoai/models/upkeep_in.rb +241 -0
  2408. data/lib/hanzoai/models/upload_in.rb +231 -0
  2409. data/lib/hanzoai/models/upstream.rb +243 -0
  2410. data/lib/hanzoai/models/usage.rb +243 -0
  2411. data/lib/hanzoai/models/usage_analytics_access.rb +231 -0
  2412. data/lib/hanzoai/models/usage_analytics_grant.rb +241 -0
  2413. data/lib/hanzoai/models/usage_analytics_view.rb +291 -0
  2414. data/lib/hanzoai/models/usage_point.rb +251 -0
  2415. data/lib/hanzoai/models/usage_repo.rb +241 -0
  2416. data/lib/hanzoai/models/usage_scope.rb +231 -0
  2417. data/lib/hanzoai/models/usage_summary.rb +301 -0
  2418. data/lib/hanzoai/models/usage_view.rb +243 -0
  2419. data/lib/hanzoai/models/usage_window_view.rb +401 -0
  2420. data/lib/hanzoai/models/user_enablement_item.rb +271 -0
  2421. data/lib/hanzoai/models/user_optin_req.rb +231 -0
  2422. data/lib/hanzoai/models/user_optin_view.rb +241 -0
  2423. data/lib/hanzoai/models/utm.rb +256 -0
  2424. data/lib/hanzoai/models/validator_claim.rb +241 -0
  2425. data/lib/hanzoai/models/validator_list.rb +233 -0
  2426. data/lib/hanzoai/models/variant.rb +261 -0
  2427. data/lib/hanzoai/models/vendor_row.rb +243 -0
  2428. data/lib/hanzoai/models/vendors_out.rb +223 -0
  2429. data/lib/hanzoai/models/venue.rb +241 -0
  2430. data/lib/hanzoai/models/verdict.rb +274 -0
  2431. data/lib/hanzoai/models/verification_decision.rb +231 -0
  2432. data/lib/hanzoai/models/verification_req.rb +261 -0
  2433. data/lib/hanzoai/models/verification_tally.rb +233 -0
  2434. data/lib/hanzoai/models/verify_out.rb +273 -0
  2435. data/lib/hanzoai/models/verify_request.rb +221 -0
  2436. data/lib/hanzoai/models/version_message.rb +261 -0
  2437. data/lib/hanzoai/models/version_meta.rb +241 -0
  2438. data/lib/hanzoai/models/version_page.rb +223 -0
  2439. data/lib/hanzoai/models/version_view.rb +241 -0
  2440. data/lib/hanzoai/models/voucher.rb +263 -0
  2441. data/lib/hanzoai/models/waiting.rb +281 -0
  2442. data/lib/hanzoai/models/wallet.rb +327 -0
  2443. data/lib/hanzoai/models/wallet_account.rb +251 -0
  2444. data/lib/hanzoai/models/wallet_list.rb +223 -0
  2445. data/lib/hanzoai/models/web_engine.rb +241 -0
  2446. data/lib/hanzoai/models/web_overview.rb +271 -0
  2447. data/lib/hanzoai/models/web_question.rb +263 -0
  2448. data/lib/hanzoai/models/web_result.rb +251 -0
  2449. data/lib/hanzoai/models/web_search_query.rb +231 -0
  2450. data/lib/hanzoai/models/web_search_results.rb +255 -0
  2451. data/lib/hanzoai/models/window.rb +256 -0
  2452. data/lib/hanzoai/models/wire.rb +421 -0
  2453. data/lib/hanzoai/models/wire_fact.rb +331 -0
  2454. data/lib/hanzoai/models/wire_instructions.rb +292 -0
  2455. data/lib/hanzoai/models/worker_list.rb +223 -0
  2456. data/lib/hanzoai/models/worker_script_put.rb +263 -0
  2457. data/lib/hanzoai/models/world_index.rb +243 -0
  2458. data/lib/hanzoai/models/world_wire.rb +261 -0
  2459. data/lib/hanzoai/models/write_in.rb +241 -0
  2460. data/lib/hanzoai/models/written.rb +241 -0
  2461. data/lib/hanzoai/models/wrote.rb +231 -0
  2462. data/lib/hanzoai/models/zap_proc_req.rb +238 -0
  2463. data/lib/hanzoai/version.rb +15 -0
  2464. data/lib/hanzoai.rb +2487 -0
  2465. data/scripts/bootstrap +24 -0
  2466. data/scripts/generate.sh +23 -0
  2467. data/scripts/test +22 -0
  2468. metadata +2578 -0
@@ -0,0 +1,3047 @@
1
+ =begin
2
+ #Hanzo Cloud API
3
+
4
+ #The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Hanzoai
16
+ class IntegrationsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Forgets a connector: every custodied secret, then the row.
23
+ # Forgets a connector: every custodied secret, then the row. Idempotent — dropping a never-connected id still answers {disconnected:true} (disconnect() parity). No provider Revoke: none of the user-plane providers exposes a revoke endpoint.
24
+ # @param id [String] ID is the connector id, provider + \":\" + label (\"openai:default\") — the auth-profile-id shape. Another user's id is simply no row, so 404.
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [DisconnectOut]
27
+ def delete_integrations_connectors_by_id(id, opts = {})
28
+ data, _status_code, _headers = delete_integrations_connectors_by_id_with_http_info(id, opts)
29
+ data
30
+ end
31
+
32
+ # Forgets a connector: every custodied secret, then the row.
33
+ # Forgets a connector: every custodied secret, then the row. Idempotent — dropping a never-connected id still answers {disconnected:true} (disconnect() parity). No provider Revoke: none of the user-plane providers exposes a revoke endpoint.
34
+ # @param id [String] ID is the connector id, provider + \":\" + label (\"openai:default\") — the auth-profile-id shape. Another user's id is simply no row, so 404.
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(DisconnectOut, Integer, Hash)>] DisconnectOut data, response status code and response headers
37
+ def delete_integrations_connectors_by_id_with_http_info(id, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.delete_integrations_connectors_by_id ...'
40
+ end
41
+ # verify the required parameter 'id' is set
42
+ if @api_client.config.client_side_validation && id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'id' when calling IntegrationsApi.delete_integrations_connectors_by_id"
44
+ end
45
+ # resource path
46
+ local_var_path = '/v1/integrations/connectors/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
+
56
+ # form parameters
57
+ form_params = opts[:form_params] || {}
58
+
59
+ # http body (model)
60
+ post_body = opts[:debug_body]
61
+
62
+ # return_type
63
+ return_type = opts[:debug_return_type] || 'DisconnectOut'
64
+
65
+ # auth_names
66
+ auth_names = opts[:debug_auth_names] || ['bearer']
67
+
68
+ new_options = opts.merge(
69
+ :operation => :"IntegrationsApi.delete_integrations_connectors_by_id",
70
+ :header_params => header_params,
71
+ :query_params => query_params,
72
+ :form_params => form_params,
73
+ :body => post_body,
74
+ :auth_names => auth_names,
75
+ :return_type => return_type
76
+ )
77
+
78
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
79
+ if @api_client.config.debugging
80
+ @api_client.config.logger.debug "API called: IntegrationsApi#delete_integrations_connectors_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
81
+ end
82
+ return data, status_code, headers
83
+ end
84
+
85
+ # Deletes the repo's Pages site.
86
+ # Deletes the repo's Pages site. 404 when there is none, so a caller can tell \"turned it off\" from \"there was nothing on\".
87
+ # @param repo [String] Repo is the repository&#39;s short name within the org&#39;s installation, with no owner prefix (the owner is server-derived from the grant). A trailing \&quot;.git\&quot; is stripped.
88
+ # @param [Hash] opts the optional parameters
89
+ # @return [GithubPagesDisabledOut]
90
+ def delete_integrations_github_repos_by_repo_pages(repo, opts = {})
91
+ data, _status_code, _headers = delete_integrations_github_repos_by_repo_pages_with_http_info(repo, opts)
92
+ data
93
+ end
94
+
95
+ # Deletes the repo&#39;s Pages site.
96
+ # Deletes the repo&#39;s Pages site. 404 when there is none, so a caller can tell \&quot;turned it off\&quot; from \&quot;there was nothing on\&quot;.
97
+ # @param repo [String] Repo is the repository&#39;s short name within the org&#39;s installation, with no owner prefix (the owner is server-derived from the grant). A trailing \&quot;.git\&quot; is stripped.
98
+ # @param [Hash] opts the optional parameters
99
+ # @return [Array<(GithubPagesDisabledOut, Integer, Hash)>] GithubPagesDisabledOut data, response status code and response headers
100
+ def delete_integrations_github_repos_by_repo_pages_with_http_info(repo, opts = {})
101
+ if @api_client.config.debugging
102
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.delete_integrations_github_repos_by_repo_pages ...'
103
+ end
104
+ # verify the required parameter 'repo' is set
105
+ if @api_client.config.client_side_validation && repo.nil?
106
+ fail ArgumentError, "Missing the required parameter 'repo' when calling IntegrationsApi.delete_integrations_github_repos_by_repo_pages"
107
+ end
108
+ # resource path
109
+ local_var_path = '/v1/integrations/github/repos/{repo}/pages'.sub('{' + 'repo' + '}', CGI.escape(repo.to_s))
110
+
111
+ # query parameters
112
+ query_params = opts[:query_params] || {}
113
+
114
+ # header parameters
115
+ header_params = opts[:header_params] || {}
116
+ # HTTP header 'Accept' (if needed)
117
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
118
+
119
+ # form parameters
120
+ form_params = opts[:form_params] || {}
121
+
122
+ # http body (model)
123
+ post_body = opts[:debug_body]
124
+
125
+ # return_type
126
+ return_type = opts[:debug_return_type] || 'GithubPagesDisabledOut'
127
+
128
+ # auth_names
129
+ auth_names = opts[:debug_auth_names] || ['bearer']
130
+
131
+ new_options = opts.merge(
132
+ :operation => :"IntegrationsApi.delete_integrations_github_repos_by_repo_pages",
133
+ :header_params => header_params,
134
+ :query_params => query_params,
135
+ :form_params => form_params,
136
+ :body => post_body,
137
+ :auth_names => auth_names,
138
+ :return_type => return_type
139
+ )
140
+
141
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
142
+ if @api_client.config.debugging
143
+ @api_client.config.logger.debug "API called: IntegrationsApi#delete_integrations_github_repos_by_repo_pages\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
144
+ end
145
+ return data, status_code, headers
146
+ end
147
+
148
+ # Returns every registered integration provider together with THIS org's connection status for it — the catalog the console's Integrations page renders.
149
+ # Returns every registered integration provider together with THIS org's connection status for it — the catalog the console's Integrations page renders. Org-authed: a caller with no validated principal is 403, because the status is per-org and there is no org-less answer. User-plane providers (the /v1/integrations/connectors surface) are omitted; the two planes are disjoint.
150
+ # @param [Hash] opts the optional parameters
151
+ # @return [ListOut]
152
+ def get_integrations(opts = {})
153
+ data, _status_code, _headers = get_integrations_with_http_info(opts)
154
+ data
155
+ end
156
+
157
+ # Returns every registered integration provider together with THIS org&#39;s connection status for it — the catalog the console&#39;s Integrations page renders.
158
+ # Returns every registered integration provider together with THIS org&#39;s connection status for it — the catalog the console&#39;s Integrations page renders. Org-authed: a caller with no validated principal is 403, because the status is per-org and there is no org-less answer. User-plane providers (the /v1/integrations/connectors surface) are omitted; the two planes are disjoint.
159
+ # @param [Hash] opts the optional parameters
160
+ # @return [Array<(ListOut, Integer, Hash)>] ListOut data, response status code and response headers
161
+ def get_integrations_with_http_info(opts = {})
162
+ if @api_client.config.debugging
163
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations ...'
164
+ end
165
+ # resource path
166
+ local_var_path = '/v1/integrations'
167
+
168
+ # query parameters
169
+ query_params = opts[:query_params] || {}
170
+
171
+ # header parameters
172
+ header_params = opts[:header_params] || {}
173
+ # HTTP header 'Accept' (if needed)
174
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
175
+
176
+ # form parameters
177
+ form_params = opts[:form_params] || {}
178
+
179
+ # http body (model)
180
+ post_body = opts[:debug_body]
181
+
182
+ # return_type
183
+ return_type = opts[:debug_return_type] || 'ListOut'
184
+
185
+ # auth_names
186
+ auth_names = opts[:debug_auth_names] || ['bearer']
187
+
188
+ new_options = opts.merge(
189
+ :operation => :"IntegrationsApi.get_integrations",
190
+ :header_params => header_params,
191
+ :query_params => query_params,
192
+ :form_params => form_params,
193
+ :body => post_body,
194
+ :auth_names => auth_names,
195
+ :return_type => return_type
196
+ )
197
+
198
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
199
+ if @api_client.config.debugging
200
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
201
+ end
202
+ return data, status_code, headers
203
+ end
204
+
205
+ # Returns ONE provider with this org's connection status — the same view list carries, for a single id.
206
+ # Returns ONE provider with this org's connection status — the same view list carries, for a single id. An unknown id is 404, and so is a user-plane provider: the org surface never resolves one.
207
+ # @param provider [String] Provider is the registry id of the connector — \&quot;slack\&quot;, \&quot;github\&quot;, \&quot;cloudflare\&quot;. Unknown ids are 404, as are the user-plane (/v1/integrations/connectors) providers, which this surface never resolves.
208
+ # @param [Hash] opts the optional parameters
209
+ # @return [ProviderView]
210
+ def get_integrations_by_provider(provider, opts = {})
211
+ data, _status_code, _headers = get_integrations_by_provider_with_http_info(provider, opts)
212
+ data
213
+ end
214
+
215
+ # Returns ONE provider with this org&#39;s connection status — the same view list carries, for a single id.
216
+ # Returns ONE provider with this org&#39;s connection status — the same view list carries, for a single id. An unknown id is 404, and so is a user-plane provider: the org surface never resolves one.
217
+ # @param provider [String] Provider is the registry id of the connector — \&quot;slack\&quot;, \&quot;github\&quot;, \&quot;cloudflare\&quot;. Unknown ids are 404, as are the user-plane (/v1/integrations/connectors) providers, which this surface never resolves.
218
+ # @param [Hash] opts the optional parameters
219
+ # @return [Array<(ProviderView, Integer, Hash)>] ProviderView data, response status code and response headers
220
+ def get_integrations_by_provider_with_http_info(provider, opts = {})
221
+ if @api_client.config.debugging
222
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_by_provider ...'
223
+ end
224
+ # verify the required parameter 'provider' is set
225
+ if @api_client.config.client_side_validation && provider.nil?
226
+ fail ArgumentError, "Missing the required parameter 'provider' when calling IntegrationsApi.get_integrations_by_provider"
227
+ end
228
+ # resource path
229
+ local_var_path = '/v1/integrations/{provider}'.sub('{' + 'provider' + '}', CGI.escape(provider.to_s))
230
+
231
+ # query parameters
232
+ query_params = opts[:query_params] || {}
233
+
234
+ # header parameters
235
+ header_params = opts[:header_params] || {}
236
+ # HTTP header 'Accept' (if needed)
237
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
238
+
239
+ # form parameters
240
+ form_params = opts[:form_params] || {}
241
+
242
+ # http body (model)
243
+ post_body = opts[:debug_body]
244
+
245
+ # return_type
246
+ return_type = opts[:debug_return_type] || 'ProviderView'
247
+
248
+ # auth_names
249
+ auth_names = opts[:debug_auth_names] || ['bearer']
250
+
251
+ new_options = opts.merge(
252
+ :operation => :"IntegrationsApi.get_integrations_by_provider",
253
+ :header_params => header_params,
254
+ :query_params => query_params,
255
+ :form_params => form_params,
256
+ :body => post_body,
257
+ :auth_names => auth_names,
258
+ :return_type => return_type
259
+ )
260
+
261
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
262
+ if @api_client.config.debugging
263
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_by_provider\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
264
+ end
265
+ return data, status_code, headers
266
+ end
267
+
268
+ # OAuth return for any connector
269
+ # The single address every connector's OAuth flow returns to. It exchanges the authorization the provider granted, records the connection, and ALWAYS redirects the browser back to the console — on success and on every labeled failure alike, so a user never lands on a raw JSON dead end. It is public and carries no principal, so the org is taken ONLY from the signed state minted when the flow began; no header is trusted here. That state is single-use and is burned BEFORE the exchange, so one authorization is one attempt and a replayed return fails instead of exchanging twice. Tokens are sealed into the org's KMS namespace BEFORE the connection row is written, so a failure of the secret store leaves no half-connected integration advertising a credential that was never stored. Token values never appear in the redirect, in a log line or in an error. One generalization is worth knowing: a GitHub App installation returns an installation identifier instead of an OAuth code, and it is accepted in the code's place so the App model needs no second address.
270
+ # @param provider [String]
271
+ # @param [Hash] opts the optional parameters
272
+ # @return [nil]
273
+ def get_integrations_by_provider_callback(provider, opts = {})
274
+ get_integrations_by_provider_callback_with_http_info(provider, opts)
275
+ nil
276
+ end
277
+
278
+ # OAuth return for any connector
279
+ # The single address every connector&#39;s OAuth flow returns to. It exchanges the authorization the provider granted, records the connection, and ALWAYS redirects the browser back to the console — on success and on every labeled failure alike, so a user never lands on a raw JSON dead end. It is public and carries no principal, so the org is taken ONLY from the signed state minted when the flow began; no header is trusted here. That state is single-use and is burned BEFORE the exchange, so one authorization is one attempt and a replayed return fails instead of exchanging twice. Tokens are sealed into the org&#39;s KMS namespace BEFORE the connection row is written, so a failure of the secret store leaves no half-connected integration advertising a credential that was never stored. Token values never appear in the redirect, in a log line or in an error. One generalization is worth knowing: a GitHub App installation returns an installation identifier instead of an OAuth code, and it is accepted in the code&#39;s place so the App model needs no second address.
280
+ # @param provider [String]
281
+ # @param [Hash] opts the optional parameters
282
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
283
+ def get_integrations_by_provider_callback_with_http_info(provider, opts = {})
284
+ if @api_client.config.debugging
285
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_by_provider_callback ...'
286
+ end
287
+ # verify the required parameter 'provider' is set
288
+ if @api_client.config.client_side_validation && provider.nil?
289
+ fail ArgumentError, "Missing the required parameter 'provider' when calling IntegrationsApi.get_integrations_by_provider_callback"
290
+ end
291
+ # resource path
292
+ local_var_path = '/v1/integrations/{provider}/callback'.sub('{' + 'provider' + '}', CGI.escape(provider.to_s))
293
+
294
+ # query parameters
295
+ query_params = opts[:query_params] || {}
296
+
297
+ # header parameters
298
+ header_params = opts[:header_params] || {}
299
+
300
+ # form parameters
301
+ form_params = opts[:form_params] || {}
302
+
303
+ # http body (model)
304
+ post_body = opts[:debug_body]
305
+
306
+ # return_type
307
+ return_type = opts[:debug_return_type]
308
+
309
+ # auth_names
310
+ auth_names = opts[:debug_auth_names] || ['bearer']
311
+
312
+ new_options = opts.merge(
313
+ :operation => :"IntegrationsApi.get_integrations_by_provider_callback",
314
+ :header_params => header_params,
315
+ :query_params => query_params,
316
+ :form_params => form_params,
317
+ :body => post_body,
318
+ :auth_names => auth_names,
319
+ :return_type => return_type
320
+ )
321
+
322
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
323
+ if @api_client.config.debugging
324
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_by_provider_callback\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
325
+ end
326
+ return data, status_code, headers
327
+ end
328
+
329
+ # Lists the caller's OWN connectors across every provider — the set `hanzo connector ls` prints.
330
+ # Lists the caller's OWN connectors across every provider — the set `hanzo connector ls` prints. Rows are keyed (org,user), so this can never surface another user's connector, and no secret is in the view.
331
+ # @param [Hash] opts the optional parameters
332
+ # @return [ConnectorsOut]
333
+ def get_integrations_connectors(opts = {})
334
+ data, _status_code, _headers = get_integrations_connectors_with_http_info(opts)
335
+ data
336
+ end
337
+
338
+ # Lists the caller&#39;s OWN connectors across every provider — the set &#x60;hanzo connector ls&#x60; prints.
339
+ # Lists the caller&#39;s OWN connectors across every provider — the set &#x60;hanzo connector ls&#x60; prints. Rows are keyed (org,user), so this can never surface another user&#39;s connector, and no secret is in the view.
340
+ # @param [Hash] opts the optional parameters
341
+ # @return [Array<(ConnectorsOut, Integer, Hash)>] ConnectorsOut data, response status code and response headers
342
+ def get_integrations_connectors_with_http_info(opts = {})
343
+ if @api_client.config.debugging
344
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_connectors ...'
345
+ end
346
+ # resource path
347
+ local_var_path = '/v1/integrations/connectors'
348
+
349
+ # query parameters
350
+ query_params = opts[:query_params] || {}
351
+
352
+ # header parameters
353
+ header_params = opts[:header_params] || {}
354
+ # HTTP header 'Accept' (if needed)
355
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
356
+
357
+ # form parameters
358
+ form_params = opts[:form_params] || {}
359
+
360
+ # http body (model)
361
+ post_body = opts[:debug_body]
362
+
363
+ # return_type
364
+ return_type = opts[:debug_return_type] || 'ConnectorsOut'
365
+
366
+ # auth_names
367
+ auth_names = opts[:debug_auth_names] || ['bearer']
368
+
369
+ new_options = opts.merge(
370
+ :operation => :"IntegrationsApi.get_integrations_connectors",
371
+ :header_params => header_params,
372
+ :query_params => query_params,
373
+ :form_params => form_params,
374
+ :body => post_body,
375
+ :auth_names => auth_names,
376
+ :return_type => return_type
377
+ )
378
+
379
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
380
+ if @api_client.config.debugging
381
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_connectors\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
382
+ end
383
+ return data, status_code, headers
384
+ end
385
+
386
+ # Hands the custodied access token to its owner — the ONE place custody exits.
387
+ # Hands the custodied access token to its owner — the ONE place custody exits. The (org,user)-keyed row IS the same-user gate: another user's id is simply \"no row\" → 404. fresh() auto-rotates within the refreshSkew window; static providers degenerate to a plain kmsGet of Secrets[0]. Refresh tokens are NEVER returned — custody keeps the sink. The token is never logged.
388
+ # @param id [String] ID is the connector id, provider + \&quot;:\&quot; + label (\&quot;openai:default\&quot;) — the auth-profile-id shape. Another user&#39;s id is simply no row, so 404.
389
+ # @param [Hash] opts the optional parameters
390
+ # @return [ConnectorTokenOut]
391
+ def get_integrations_connectors_by_id_token(id, opts = {})
392
+ data, _status_code, _headers = get_integrations_connectors_by_id_token_with_http_info(id, opts)
393
+ data
394
+ end
395
+
396
+ # Hands the custodied access token to its owner — the ONE place custody exits.
397
+ # Hands the custodied access token to its owner — the ONE place custody exits. The (org,user)-keyed row IS the same-user gate: another user&#39;s id is simply \&quot;no row\&quot; → 404. fresh() auto-rotates within the refreshSkew window; static providers degenerate to a plain kmsGet of Secrets[0]. Refresh tokens are NEVER returned — custody keeps the sink. The token is never logged.
398
+ # @param id [String] ID is the connector id, provider + \&quot;:\&quot; + label (\&quot;openai:default\&quot;) — the auth-profile-id shape. Another user&#39;s id is simply no row, so 404.
399
+ # @param [Hash] opts the optional parameters
400
+ # @return [Array<(ConnectorTokenOut, Integer, Hash)>] ConnectorTokenOut data, response status code and response headers
401
+ def get_integrations_connectors_by_id_token_with_http_info(id, opts = {})
402
+ if @api_client.config.debugging
403
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_connectors_by_id_token ...'
404
+ end
405
+ # verify the required parameter 'id' is set
406
+ if @api_client.config.client_side_validation && id.nil?
407
+ fail ArgumentError, "Missing the required parameter 'id' when calling IntegrationsApi.get_integrations_connectors_by_id_token"
408
+ end
409
+ # resource path
410
+ local_var_path = '/v1/integrations/connectors/{id}/token'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
411
+
412
+ # query parameters
413
+ query_params = opts[:query_params] || {}
414
+
415
+ # header parameters
416
+ header_params = opts[:header_params] || {}
417
+ # HTTP header 'Accept' (if needed)
418
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
419
+
420
+ # form parameters
421
+ form_params = opts[:form_params] || {}
422
+
423
+ # http body (model)
424
+ post_body = opts[:debug_body]
425
+
426
+ # return_type
427
+ return_type = opts[:debug_return_type] || 'ConnectorTokenOut'
428
+
429
+ # auth_names
430
+ auth_names = opts[:debug_auth_names] || ['bearer']
431
+
432
+ new_options = opts.merge(
433
+ :operation => :"IntegrationsApi.get_integrations_connectors_by_id_token",
434
+ :header_params => header_params,
435
+ :query_params => query_params,
436
+ :form_params => form_params,
437
+ :body => post_body,
438
+ :auth_names => auth_names,
439
+ :return_type => return_type
440
+ )
441
+
442
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
443
+ if @api_client.config.debugging
444
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_connectors_by_id_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
445
+ end
446
+ return data, status_code, headers
447
+ end
448
+
449
+ # Lists the user-scoped provider cards — the catalog of what a user can connect, and how.
450
+ # Lists the user-scoped provider cards — the catalog of what a user can connect, and how. Methods derive from capabilities (Device/Adopt/Verify — Mount asserts at least one), never from a parallel kind enum.
451
+ # @param [Hash] opts the optional parameters
452
+ # @return [ConnectorProvidersOut]
453
+ def get_integrations_connectors_providers(opts = {})
454
+ data, _status_code, _headers = get_integrations_connectors_providers_with_http_info(opts)
455
+ data
456
+ end
457
+
458
+ # Lists the user-scoped provider cards — the catalog of what a user can connect, and how.
459
+ # Lists the user-scoped provider cards — the catalog of what a user can connect, and how. Methods derive from capabilities (Device/Adopt/Verify — Mount asserts at least one), never from a parallel kind enum.
460
+ # @param [Hash] opts the optional parameters
461
+ # @return [Array<(ConnectorProvidersOut, Integer, Hash)>] ConnectorProvidersOut data, response status code and response headers
462
+ def get_integrations_connectors_providers_with_http_info(opts = {})
463
+ if @api_client.config.debugging
464
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_connectors_providers ...'
465
+ end
466
+ # resource path
467
+ local_var_path = '/v1/integrations/connectors/providers'
468
+
469
+ # query parameters
470
+ query_params = opts[:query_params] || {}
471
+
472
+ # header parameters
473
+ header_params = opts[:header_params] || {}
474
+ # HTTP header 'Accept' (if needed)
475
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
476
+
477
+ # form parameters
478
+ form_params = opts[:form_params] || {}
479
+
480
+ # http body (model)
481
+ post_body = opts[:debug_body]
482
+
483
+ # return_type
484
+ return_type = opts[:debug_return_type] || 'ConnectorProvidersOut'
485
+
486
+ # auth_names
487
+ auth_names = opts[:debug_auth_names] || ['bearer']
488
+
489
+ new_options = opts.merge(
490
+ :operation => :"IntegrationsApi.get_integrations_connectors_providers",
491
+ :header_params => header_params,
492
+ :query_params => query_params,
493
+ :form_params => form_params,
494
+ :body => post_body,
495
+ :auth_names => auth_names,
496
+ :return_type => return_type
497
+ )
498
+
499
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
500
+ if @api_client.config.debugging
501
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_connectors_providers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
502
+ end
503
+ return data, status_code, headers
504
+ end
505
+
506
+ # Begin linking a Hanzo account from Discord
507
+ # The entry point behind the connect prompt Hanzo shows in a Discord server. It starts a link session and redirects to Discord's OAuth `identify` consent — the narrowest scope that establishes which Discord user is asking, and nothing more. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
508
+ # @param [Hash] opts the optional parameters
509
+ # @return [nil]
510
+ def get_integrations_discord_link(opts = {})
511
+ get_integrations_discord_link_with_http_info(opts)
512
+ nil
513
+ end
514
+
515
+ # Begin linking a Hanzo account from Discord
516
+ # The entry point behind the connect prompt Hanzo shows in a Discord server. It starts a link session and redirects to Discord&#39;s OAuth &#x60;identify&#x60; consent — the narrowest scope that establishes which Discord user is asking, and nothing more. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
517
+ # @param [Hash] opts the optional parameters
518
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
519
+ def get_integrations_discord_link_with_http_info(opts = {})
520
+ if @api_client.config.debugging
521
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_discord_link ...'
522
+ end
523
+ # resource path
524
+ local_var_path = '/v1/integrations/discord/link'
525
+
526
+ # query parameters
527
+ query_params = opts[:query_params] || {}
528
+
529
+ # header parameters
530
+ header_params = opts[:header_params] || {}
531
+
532
+ # form parameters
533
+ form_params = opts[:form_params] || {}
534
+
535
+ # http body (model)
536
+ post_body = opts[:debug_body]
537
+
538
+ # return_type
539
+ return_type = opts[:debug_return_type]
540
+
541
+ # auth_names
542
+ auth_names = opts[:debug_auth_names] || ['bearer']
543
+
544
+ new_options = opts.merge(
545
+ :operation => :"IntegrationsApi.get_integrations_discord_link",
546
+ :header_params => header_params,
547
+ :query_params => query_params,
548
+ :form_params => form_params,
549
+ :body => post_body,
550
+ :auth_names => auth_names,
551
+ :return_type => return_type
552
+ )
553
+
554
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
555
+ if @api_client.config.debugging
556
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_discord_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
557
+ end
558
+ return data, status_code, headers
559
+ end
560
+
561
+ # Complete the Discord account link
562
+ # The final leg: it binds the verified Discord user to the Hanzo account that just signed in, and answers a short confirmation page telling them to return to Discord. The Hanzo credential is sealed into the connected org's KMS namespace rather than stored beside the link. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
563
+ # @param [Hash] opts the optional parameters
564
+ # @return [nil]
565
+ def get_integrations_discord_link_callback(opts = {})
566
+ get_integrations_discord_link_callback_with_http_info(opts)
567
+ nil
568
+ end
569
+
570
+ # Complete the Discord account link
571
+ # The final leg: it binds the verified Discord user to the Hanzo account that just signed in, and answers a short confirmation page telling them to return to Discord. The Hanzo credential is sealed into the connected org&#39;s KMS namespace rather than stored beside the link. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
572
+ # @param [Hash] opts the optional parameters
573
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
574
+ def get_integrations_discord_link_callback_with_http_info(opts = {})
575
+ if @api_client.config.debugging
576
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_discord_link_callback ...'
577
+ end
578
+ # resource path
579
+ local_var_path = '/v1/integrations/discord/link/callback'
580
+
581
+ # query parameters
582
+ query_params = opts[:query_params] || {}
583
+
584
+ # header parameters
585
+ header_params = opts[:header_params] || {}
586
+
587
+ # form parameters
588
+ form_params = opts[:form_params] || {}
589
+
590
+ # http body (model)
591
+ post_body = opts[:debug_body]
592
+
593
+ # return_type
594
+ return_type = opts[:debug_return_type]
595
+
596
+ # auth_names
597
+ auth_names = opts[:debug_auth_names] || ['bearer']
598
+
599
+ new_options = opts.merge(
600
+ :operation => :"IntegrationsApi.get_integrations_discord_link_callback",
601
+ :header_params => header_params,
602
+ :query_params => query_params,
603
+ :form_params => form_params,
604
+ :body => post_body,
605
+ :auth_names => auth_names,
606
+ :return_type => return_type
607
+ )
608
+
609
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
610
+ if @api_client.config.debugging
611
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_discord_link_callback\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
612
+ end
613
+ return data, status_code, headers
614
+ end
615
+
616
+ # Discord sign-in return leg
617
+ # Where Discord returns the user after the identify consent. It resolves the verified Discord user, confirms the server is connected to an org, and hands the browser to the Hanzo sign-in that completes the link. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
618
+ # @param [Hash] opts the optional parameters
619
+ # @return [nil]
620
+ def get_integrations_discord_link_discord(opts = {})
621
+ get_integrations_discord_link_discord_with_http_info(opts)
622
+ nil
623
+ end
624
+
625
+ # Discord sign-in return leg
626
+ # Where Discord returns the user after the identify consent. It resolves the verified Discord user, confirms the server is connected to an org, and hands the browser to the Hanzo sign-in that completes the link. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
627
+ # @param [Hash] opts the optional parameters
628
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
629
+ def get_integrations_discord_link_discord_with_http_info(opts = {})
630
+ if @api_client.config.debugging
631
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_discord_link_discord ...'
632
+ end
633
+ # resource path
634
+ local_var_path = '/v1/integrations/discord/link/discord'
635
+
636
+ # query parameters
637
+ query_params = opts[:query_params] || {}
638
+
639
+ # header parameters
640
+ header_params = opts[:header_params] || {}
641
+
642
+ # form parameters
643
+ form_params = opts[:form_params] || {}
644
+
645
+ # http body (model)
646
+ post_body = opts[:debug_body]
647
+
648
+ # return_type
649
+ return_type = opts[:debug_return_type]
650
+
651
+ # auth_names
652
+ auth_names = opts[:debug_auth_names] || ['bearer']
653
+
654
+ new_options = opts.merge(
655
+ :operation => :"IntegrationsApi.get_integrations_discord_link_discord",
656
+ :header_params => header_params,
657
+ :query_params => query_params,
658
+ :form_params => form_params,
659
+ :body => post_body,
660
+ :auth_names => auth_names,
661
+ :return_type => return_type
662
+ )
663
+
664
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
665
+ if @api_client.config.debugging
666
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_discord_link_discord\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
667
+ end
668
+ return data, status_code, headers
669
+ end
670
+
671
+ # Lists the GitHub accounts the caller may see the App installed on, each confirmed against the App's own list, plus where to add another.
672
+ # Lists the GitHub accounts the caller may see the App installed on, each confirmed against the App's own list, plus where to add another. The confirmation is the point. A connection row holds an installation id, and an id whose installation was since removed on GitHub is a row that mints nothing — every list and import against it fails with a token error, which reads as \"our git integration is broken\" rather than \"that install is gone\". Checking the App's view turns that into a fact the caller can act on. ORG-SCOPED for a tenant, deliberately. The App is installed across every customer, so the raw list is the customer list; a tenant sees only accounts its own org has bound. It discovers a NEW account by installing it (InstallURL), which is GitHub's own consent screen — not by reading ours. A SUPER ADMIN sees the App's whole install list, because that list is the platform's own inventory rather than any one tenant's data, and platform sudo is the single cross-tenant scope this house has. Without it an App installed out-of-band — granted straight from GitHub, so no connect flow ever ran and no connection row exists — is invisible to everyone: the console card reads \"not connected\" and an operator asked \"which GitHub orgs do you see\" can only answer for accounts already bound, which is precisely the accounts that were never the question.
673
+ # @param [Hash] opts the optional parameters
674
+ # @return [GithubInstallationsOut]
675
+ def get_integrations_github_installations(opts = {})
676
+ data, _status_code, _headers = get_integrations_github_installations_with_http_info(opts)
677
+ data
678
+ end
679
+
680
+ # Lists the GitHub accounts the caller may see the App installed on, each confirmed against the App&#39;s own list, plus where to add another.
681
+ # Lists the GitHub accounts the caller may see the App installed on, each confirmed against the App&#39;s own list, plus where to add another. The confirmation is the point. A connection row holds an installation id, and an id whose installation was since removed on GitHub is a row that mints nothing — every list and import against it fails with a token error, which reads as \&quot;our git integration is broken\&quot; rather than \&quot;that install is gone\&quot;. Checking the App&#39;s view turns that into a fact the caller can act on. ORG-SCOPED for a tenant, deliberately. The App is installed across every customer, so the raw list is the customer list; a tenant sees only accounts its own org has bound. It discovers a NEW account by installing it (InstallURL), which is GitHub&#39;s own consent screen — not by reading ours. A SUPER ADMIN sees the App&#39;s whole install list, because that list is the platform&#39;s own inventory rather than any one tenant&#39;s data, and platform sudo is the single cross-tenant scope this house has. Without it an App installed out-of-band — granted straight from GitHub, so no connect flow ever ran and no connection row exists — is invisible to everyone: the console card reads \&quot;not connected\&quot; and an operator asked \&quot;which GitHub orgs do you see\&quot; can only answer for accounts already bound, which is precisely the accounts that were never the question.
682
+ # @param [Hash] opts the optional parameters
683
+ # @return [Array<(GithubInstallationsOut, Integer, Hash)>] GithubInstallationsOut data, response status code and response headers
684
+ def get_integrations_github_installations_with_http_info(opts = {})
685
+ if @api_client.config.debugging
686
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_github_installations ...'
687
+ end
688
+ # resource path
689
+ local_var_path = '/v1/integrations/github/installations'
690
+
691
+ # query parameters
692
+ query_params = opts[:query_params] || {}
693
+
694
+ # header parameters
695
+ header_params = opts[:header_params] || {}
696
+ # HTTP header 'Accept' (if needed)
697
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
698
+
699
+ # form parameters
700
+ form_params = opts[:form_params] || {}
701
+
702
+ # http body (model)
703
+ post_body = opts[:debug_body]
704
+
705
+ # return_type
706
+ return_type = opts[:debug_return_type] || 'GithubInstallationsOut'
707
+
708
+ # auth_names
709
+ auth_names = opts[:debug_auth_names] || ['bearer']
710
+
711
+ new_options = opts.merge(
712
+ :operation => :"IntegrationsApi.get_integrations_github_installations",
713
+ :header_params => header_params,
714
+ :query_params => query_params,
715
+ :form_params => form_params,
716
+ :body => post_body,
717
+ :auth_names => auth_names,
718
+ :return_type => return_type
719
+ )
720
+
721
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
722
+ if @api_client.config.debugging
723
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_github_installations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
724
+ end
725
+ return data, status_code, headers
726
+ end
727
+
728
+ # Lists the org's granted GitHub repositories, each annotated with its native import + sync status from the git object plane.
729
+ # Lists the org's granted GitHub repositories, each annotated with its native import + sync status from the git object plane. Org-authed: the org comes from the validated principal, and the granted set is bounded to THAT org's installation token — an org can never enumerate another org's repos. The console polls it to watch an import flip a repo to imported.
730
+ # @param [Hash] opts the optional parameters
731
+ # @return [GithubReposOut]
732
+ def get_integrations_github_repos(opts = {})
733
+ data, _status_code, _headers = get_integrations_github_repos_with_http_info(opts)
734
+ data
735
+ end
736
+
737
+ # Lists the org&#39;s granted GitHub repositories, each annotated with its native import + sync status from the git object plane.
738
+ # Lists the org&#39;s granted GitHub repositories, each annotated with its native import + sync status from the git object plane. Org-authed: the org comes from the validated principal, and the granted set is bounded to THAT org&#39;s installation token — an org can never enumerate another org&#39;s repos. The console polls it to watch an import flip a repo to imported.
739
+ # @param [Hash] opts the optional parameters
740
+ # @return [Array<(GithubReposOut, Integer, Hash)>] GithubReposOut data, response status code and response headers
741
+ def get_integrations_github_repos_with_http_info(opts = {})
742
+ if @api_client.config.debugging
743
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_github_repos ...'
744
+ end
745
+ # resource path
746
+ local_var_path = '/v1/integrations/github/repos'
747
+
748
+ # query parameters
749
+ query_params = opts[:query_params] || {}
750
+
751
+ # header parameters
752
+ header_params = opts[:header_params] || {}
753
+ # HTTP header 'Accept' (if needed)
754
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
755
+
756
+ # form parameters
757
+ form_params = opts[:form_params] || {}
758
+
759
+ # http body (model)
760
+ post_body = opts[:debug_body]
761
+
762
+ # return_type
763
+ return_type = opts[:debug_return_type] || 'GithubReposOut'
764
+
765
+ # auth_names
766
+ auth_names = opts[:debug_auth_names] || ['bearer']
767
+
768
+ new_options = opts.merge(
769
+ :operation => :"IntegrationsApi.get_integrations_github_repos",
770
+ :header_params => header_params,
771
+ :query_params => query_params,
772
+ :form_params => form_params,
773
+ :body => post_body,
774
+ :auth_names => auth_names,
775
+ :return_type => return_type
776
+ )
777
+
778
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
779
+ if @api_client.config.debugging
780
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_github_repos\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
781
+ end
782
+ return data, status_code, headers
783
+ end
784
+
785
+ # Returns the repo's Pages status, live URL, custom domain and build source.
786
+ # Returns the repo's Pages status, live URL, custom domain and build source. The repo is resolved against the org installation's GRANTED set, so a caller can never address a repo the App was not granted; 404 when the repo has no Pages site.
787
+ # @param repo [String] Repo is the repository&#39;s short name within the org&#39;s installation, with no owner prefix (the owner is server-derived from the grant). A trailing \&quot;.git\&quot; is stripped.
788
+ # @param [Hash] opts the optional parameters
789
+ # @return [GithubPagesView]
790
+ def get_integrations_github_repos_by_repo_pages(repo, opts = {})
791
+ data, _status_code, _headers = get_integrations_github_repos_by_repo_pages_with_http_info(repo, opts)
792
+ data
793
+ end
794
+
795
+ # Returns the repo&#39;s Pages status, live URL, custom domain and build source.
796
+ # Returns the repo&#39;s Pages status, live URL, custom domain and build source. The repo is resolved against the org installation&#39;s GRANTED set, so a caller can never address a repo the App was not granted; 404 when the repo has no Pages site.
797
+ # @param repo [String] Repo is the repository&#39;s short name within the org&#39;s installation, with no owner prefix (the owner is server-derived from the grant). A trailing \&quot;.git\&quot; is stripped.
798
+ # @param [Hash] opts the optional parameters
799
+ # @return [Array<(GithubPagesView, Integer, Hash)>] GithubPagesView data, response status code and response headers
800
+ def get_integrations_github_repos_by_repo_pages_with_http_info(repo, opts = {})
801
+ if @api_client.config.debugging
802
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_github_repos_by_repo_pages ...'
803
+ end
804
+ # verify the required parameter 'repo' is set
805
+ if @api_client.config.client_side_validation && repo.nil?
806
+ fail ArgumentError, "Missing the required parameter 'repo' when calling IntegrationsApi.get_integrations_github_repos_by_repo_pages"
807
+ end
808
+ # resource path
809
+ local_var_path = '/v1/integrations/github/repos/{repo}/pages'.sub('{' + 'repo' + '}', CGI.escape(repo.to_s))
810
+
811
+ # query parameters
812
+ query_params = opts[:query_params] || {}
813
+
814
+ # header parameters
815
+ header_params = opts[:header_params] || {}
816
+ # HTTP header 'Accept' (if needed)
817
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
818
+
819
+ # form parameters
820
+ form_params = opts[:form_params] || {}
821
+
822
+ # http body (model)
823
+ post_body = opts[:debug_body]
824
+
825
+ # return_type
826
+ return_type = opts[:debug_return_type] || 'GithubPagesView'
827
+
828
+ # auth_names
829
+ auth_names = opts[:debug_auth_names] || ['bearer']
830
+
831
+ new_options = opts.merge(
832
+ :operation => :"IntegrationsApi.get_integrations_github_repos_by_repo_pages",
833
+ :header_params => header_params,
834
+ :query_params => query_params,
835
+ :form_params => form_params,
836
+ :body => post_body,
837
+ :auth_names => auth_names,
838
+ :return_type => return_type
839
+ )
840
+
841
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
842
+ if @api_client.config.debugging
843
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_github_repos_by_repo_pages\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
844
+ end
845
+ return data, status_code, headers
846
+ end
847
+
848
+ # Lists the projects the org's GitLab connection can reach — membership projects, most recently active first.
849
+ # Lists the projects the org's GitLab connection can reach — membership projects, most recently active first.
850
+ # @param [Hash] opts the optional parameters
851
+ # @return [GitlabProjectsOut]
852
+ def get_integrations_gitlab_projects(opts = {})
853
+ data, _status_code, _headers = get_integrations_gitlab_projects_with_http_info(opts)
854
+ data
855
+ end
856
+
857
+ # Lists the projects the org&#39;s GitLab connection can reach — membership projects, most recently active first.
858
+ # Lists the projects the org&#39;s GitLab connection can reach — membership projects, most recently active first.
859
+ # @param [Hash] opts the optional parameters
860
+ # @return [Array<(GitlabProjectsOut, Integer, Hash)>] GitlabProjectsOut data, response status code and response headers
861
+ def get_integrations_gitlab_projects_with_http_info(opts = {})
862
+ if @api_client.config.debugging
863
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_gitlab_projects ...'
864
+ end
865
+ # resource path
866
+ local_var_path = '/v1/integrations/gitlab/projects'
867
+
868
+ # query parameters
869
+ query_params = opts[:query_params] || {}
870
+
871
+ # header parameters
872
+ header_params = opts[:header_params] || {}
873
+ # HTTP header 'Accept' (if needed)
874
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
875
+
876
+ # form parameters
877
+ form_params = opts[:form_params] || {}
878
+
879
+ # http body (model)
880
+ post_body = opts[:debug_body]
881
+
882
+ # return_type
883
+ return_type = opts[:debug_return_type] || 'GitlabProjectsOut'
884
+
885
+ # auth_names
886
+ auth_names = opts[:debug_auth_names] || ['bearer']
887
+
888
+ new_options = opts.merge(
889
+ :operation => :"IntegrationsApi.get_integrations_gitlab_projects",
890
+ :header_params => header_params,
891
+ :query_params => query_params,
892
+ :form_params => form_params,
893
+ :body => post_body,
894
+ :auth_names => auth_names,
895
+ :return_type => return_type
896
+ )
897
+
898
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
899
+ if @api_client.config.debugging
900
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_gitlab_projects\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
901
+ end
902
+ return data, status_code, headers
903
+ end
904
+
905
+ # Install the Hanzo app into a Slack workspace
906
+ # The address behind Slack's \"Add to Slack\" and Marketplace Install buttons. It answers a 302 to Slack's own consent screen and does nothing else — it is a redirector by design. It exists because Slack refuses a slack.com URL in that field and requires one of ours that redirects there, which makes the field an ATTRIBUTION hook: routing the click through our own address is what lets an install be counted, and always answering the redirect is what keeps the counter from becoming a detour that never reaches consent. The destination is the same consent URL every time, built from the same scopes the console's Connect button asks for, so a workspace is asked to grant one thing however the install began. It is PUBLIC and carries no principal, because whoever clicks Install in Slack's directory has no Hanzo session yet. It binds no org either, and that is deliberate rather than missing: the org is resolved at the shared provider callback, from the signed state a console connect minted or from the workspace's existing connection. Minting an org for an anonymous click is the one thing that would break tenant isolation, so an install begun here finishes under exactly the rules every other install obeys. Where the app is not configured it answers 503, rather than a consent URL carrying an empty client_id that Slack would render as its own dead-end error page.
907
+ # @param [Hash] opts the optional parameters
908
+ # @return [nil]
909
+ def get_integrations_slack_install(opts = {})
910
+ get_integrations_slack_install_with_http_info(opts)
911
+ nil
912
+ end
913
+
914
+ # Install the Hanzo app into a Slack workspace
915
+ # The address behind Slack&#39;s \&quot;Add to Slack\&quot; and Marketplace Install buttons. It answers a 302 to Slack&#39;s own consent screen and does nothing else — it is a redirector by design. It exists because Slack refuses a slack.com URL in that field and requires one of ours that redirects there, which makes the field an ATTRIBUTION hook: routing the click through our own address is what lets an install be counted, and always answering the redirect is what keeps the counter from becoming a detour that never reaches consent. The destination is the same consent URL every time, built from the same scopes the console&#39;s Connect button asks for, so a workspace is asked to grant one thing however the install began. It is PUBLIC and carries no principal, because whoever clicks Install in Slack&#39;s directory has no Hanzo session yet. It binds no org either, and that is deliberate rather than missing: the org is resolved at the shared provider callback, from the signed state a console connect minted or from the workspace&#39;s existing connection. Minting an org for an anonymous click is the one thing that would break tenant isolation, so an install begun here finishes under exactly the rules every other install obeys. Where the app is not configured it answers 503, rather than a consent URL carrying an empty client_id that Slack would render as its own dead-end error page.
916
+ # @param [Hash] opts the optional parameters
917
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
918
+ def get_integrations_slack_install_with_http_info(opts = {})
919
+ if @api_client.config.debugging
920
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_slack_install ...'
921
+ end
922
+ # resource path
923
+ local_var_path = '/v1/integrations/slack/install'
924
+
925
+ # query parameters
926
+ query_params = opts[:query_params] || {}
927
+
928
+ # header parameters
929
+ header_params = opts[:header_params] || {}
930
+
931
+ # form parameters
932
+ form_params = opts[:form_params] || {}
933
+
934
+ # http body (model)
935
+ post_body = opts[:debug_body]
936
+
937
+ # return_type
938
+ return_type = opts[:debug_return_type]
939
+
940
+ # auth_names
941
+ auth_names = opts[:debug_auth_names] || ['bearer']
942
+
943
+ new_options = opts.merge(
944
+ :operation => :"IntegrationsApi.get_integrations_slack_install",
945
+ :header_params => header_params,
946
+ :query_params => query_params,
947
+ :form_params => form_params,
948
+ :body => post_body,
949
+ :auth_names => auth_names,
950
+ :return_type => return_type
951
+ )
952
+
953
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
954
+ if @api_client.config.debugging
955
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_slack_install\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
956
+ end
957
+ return data, status_code, headers
958
+ end
959
+
960
+ # Begin linking a Hanzo account from Slack
961
+ # The entry point behind the connect prompt Hanzo posts in Slack. It starts a link session in the browser and redirects to Slack's own sign-in, which is what proves which Slack user is asking. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
962
+ # @param [Hash] opts the optional parameters
963
+ # @return [nil]
964
+ def get_integrations_slack_link(opts = {})
965
+ get_integrations_slack_link_with_http_info(opts)
966
+ nil
967
+ end
968
+
969
+ # Begin linking a Hanzo account from Slack
970
+ # The entry point behind the connect prompt Hanzo posts in Slack. It starts a link session in the browser and redirects to Slack&#39;s own sign-in, which is what proves which Slack user is asking. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
971
+ # @param [Hash] opts the optional parameters
972
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
973
+ def get_integrations_slack_link_with_http_info(opts = {})
974
+ if @api_client.config.debugging
975
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_slack_link ...'
976
+ end
977
+ # resource path
978
+ local_var_path = '/v1/integrations/slack/link'
979
+
980
+ # query parameters
981
+ query_params = opts[:query_params] || {}
982
+
983
+ # header parameters
984
+ header_params = opts[:header_params] || {}
985
+
986
+ # form parameters
987
+ form_params = opts[:form_params] || {}
988
+
989
+ # http body (model)
990
+ post_body = opts[:debug_body]
991
+
992
+ # return_type
993
+ return_type = opts[:debug_return_type]
994
+
995
+ # auth_names
996
+ auth_names = opts[:debug_auth_names] || ['bearer']
997
+
998
+ new_options = opts.merge(
999
+ :operation => :"IntegrationsApi.get_integrations_slack_link",
1000
+ :header_params => header_params,
1001
+ :query_params => query_params,
1002
+ :form_params => form_params,
1003
+ :body => post_body,
1004
+ :auth_names => auth_names,
1005
+ :return_type => return_type
1006
+ )
1007
+
1008
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1009
+ if @api_client.config.debugging
1010
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_slack_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1011
+ end
1012
+ return data, status_code, headers
1013
+ end
1014
+
1015
+ # Complete the Slack account link
1016
+ # The final leg: the user has proved both who they are in Slack and who they are in Hanzo, and this binds the two. It answers a short confirmation page telling them to return to Slack. The Hanzo credential obtained here is sealed into the connected workspace's own KMS namespace; it is never written to a database column and never logged. A deployment whose secret store is unavailable refuses the link rather than completing it without custody of the credential. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1017
+ # @param [Hash] opts the optional parameters
1018
+ # @return [nil]
1019
+ def get_integrations_slack_link_callback(opts = {})
1020
+ get_integrations_slack_link_callback_with_http_info(opts)
1021
+ nil
1022
+ end
1023
+
1024
+ # Complete the Slack account link
1025
+ # The final leg: the user has proved both who they are in Slack and who they are in Hanzo, and this binds the two. It answers a short confirmation page telling them to return to Slack. The Hanzo credential obtained here is sealed into the connected workspace&#39;s own KMS namespace; it is never written to a database column and never logged. A deployment whose secret store is unavailable refuses the link rather than completing it without custody of the credential. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1026
+ # @param [Hash] opts the optional parameters
1027
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1028
+ def get_integrations_slack_link_callback_with_http_info(opts = {})
1029
+ if @api_client.config.debugging
1030
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_slack_link_callback ...'
1031
+ end
1032
+ # resource path
1033
+ local_var_path = '/v1/integrations/slack/link/callback'
1034
+
1035
+ # query parameters
1036
+ query_params = opts[:query_params] || {}
1037
+
1038
+ # header parameters
1039
+ header_params = opts[:header_params] || {}
1040
+
1041
+ # form parameters
1042
+ form_params = opts[:form_params] || {}
1043
+
1044
+ # http body (model)
1045
+ post_body = opts[:debug_body]
1046
+
1047
+ # return_type
1048
+ return_type = opts[:debug_return_type]
1049
+
1050
+ # auth_names
1051
+ auth_names = opts[:debug_auth_names] || ['bearer']
1052
+
1053
+ new_options = opts.merge(
1054
+ :operation => :"IntegrationsApi.get_integrations_slack_link_callback",
1055
+ :header_params => header_params,
1056
+ :query_params => query_params,
1057
+ :form_params => form_params,
1058
+ :body => post_body,
1059
+ :auth_names => auth_names,
1060
+ :return_type => return_type
1061
+ )
1062
+
1063
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1064
+ if @api_client.config.debugging
1065
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_slack_link_callback\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1066
+ end
1067
+ return data, status_code, headers
1068
+ end
1069
+
1070
+ # Slack sign-in return leg
1071
+ # Where Slack returns the user after they sign in. It establishes the verified Slack workspace and user, confirms that workspace is connected to an org, and hands the browser on to the Hanzo sign-in that completes the link. The verified pair is carried onward in a host-bound cookie rather than in the URL, so the identity being linked cannot be edited in transit. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1072
+ # @param [Hash] opts the optional parameters
1073
+ # @return [nil]
1074
+ def get_integrations_slack_link_slack(opts = {})
1075
+ get_integrations_slack_link_slack_with_http_info(opts)
1076
+ nil
1077
+ end
1078
+
1079
+ # Slack sign-in return leg
1080
+ # Where Slack returns the user after they sign in. It establishes the verified Slack workspace and user, confirms that workspace is connected to an org, and hands the browser on to the Hanzo sign-in that completes the link. The verified pair is carried onward in a host-bound cookie rather than in the URL, so the identity being linked cannot be edited in transit. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1081
+ # @param [Hash] opts the optional parameters
1082
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1083
+ def get_integrations_slack_link_slack_with_http_info(opts = {})
1084
+ if @api_client.config.debugging
1085
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_slack_link_slack ...'
1086
+ end
1087
+ # resource path
1088
+ local_var_path = '/v1/integrations/slack/link/slack'
1089
+
1090
+ # query parameters
1091
+ query_params = opts[:query_params] || {}
1092
+
1093
+ # header parameters
1094
+ header_params = opts[:header_params] || {}
1095
+
1096
+ # form parameters
1097
+ form_params = opts[:form_params] || {}
1098
+
1099
+ # http body (model)
1100
+ post_body = opts[:debug_body]
1101
+
1102
+ # return_type
1103
+ return_type = opts[:debug_return_type]
1104
+
1105
+ # auth_names
1106
+ auth_names = opts[:debug_auth_names] || ['bearer']
1107
+
1108
+ new_options = opts.merge(
1109
+ :operation => :"IntegrationsApi.get_integrations_slack_link_slack",
1110
+ :header_params => header_params,
1111
+ :query_params => query_params,
1112
+ :form_params => form_params,
1113
+ :body => post_body,
1114
+ :auth_names => auth_names,
1115
+ :return_type => return_type
1116
+ )
1117
+
1118
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1119
+ if @api_client.config.debugging
1120
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_slack_link_slack\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1121
+ end
1122
+ return data, status_code, headers
1123
+ end
1124
+
1125
+ # Begin linking a Hanzo account from Teams
1126
+ # The entry point behind the connect prompt Hanzo shows in Teams. It starts a link session and redirects to Microsoft sign-in addressed to the CHAT'S OWN tenant, not the common endpoint, so only a member of that tenant can complete it. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1127
+ # @param [Hash] opts the optional parameters
1128
+ # @return [nil]
1129
+ def get_integrations_teams_link(opts = {})
1130
+ get_integrations_teams_link_with_http_info(opts)
1131
+ nil
1132
+ end
1133
+
1134
+ # Begin linking a Hanzo account from Teams
1135
+ # The entry point behind the connect prompt Hanzo shows in Teams. It starts a link session and redirects to Microsoft sign-in addressed to the CHAT&#39;S OWN tenant, not the common endpoint, so only a member of that tenant can complete it. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1136
+ # @param [Hash] opts the optional parameters
1137
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1138
+ def get_integrations_teams_link_with_http_info(opts = {})
1139
+ if @api_client.config.debugging
1140
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_teams_link ...'
1141
+ end
1142
+ # resource path
1143
+ local_var_path = '/v1/integrations/teams/link'
1144
+
1145
+ # query parameters
1146
+ query_params = opts[:query_params] || {}
1147
+
1148
+ # header parameters
1149
+ header_params = opts[:header_params] || {}
1150
+
1151
+ # form parameters
1152
+ form_params = opts[:form_params] || {}
1153
+
1154
+ # http body (model)
1155
+ post_body = opts[:debug_body]
1156
+
1157
+ # return_type
1158
+ return_type = opts[:debug_return_type]
1159
+
1160
+ # auth_names
1161
+ auth_names = opts[:debug_auth_names] || ['bearer']
1162
+
1163
+ new_options = opts.merge(
1164
+ :operation => :"IntegrationsApi.get_integrations_teams_link",
1165
+ :header_params => header_params,
1166
+ :query_params => query_params,
1167
+ :form_params => form_params,
1168
+ :body => post_body,
1169
+ :auth_names => auth_names,
1170
+ :return_type => return_type
1171
+ )
1172
+
1173
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1174
+ if @api_client.config.debugging
1175
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_teams_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1176
+ end
1177
+ return data, status_code, headers
1178
+ end
1179
+
1180
+ # Microsoft sign-in return leg
1181
+ # Where Microsoft returns the user after sign-in. It resolves the verified directory identity and then re-checks the tenant: the signed-in user's tenant must equal the tenant of the chat the link started from, so a valid Microsoft sign-in from a different organization is refused here rather than accepted. This is the leg Teams has and the other platforms do not, which is why the Teams flow has an extra address. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1182
+ # @param [Hash] opts the optional parameters
1183
+ # @return [nil]
1184
+ def get_integrations_teams_link_aad(opts = {})
1185
+ get_integrations_teams_link_aad_with_http_info(opts)
1186
+ nil
1187
+ end
1188
+
1189
+ # Microsoft sign-in return leg
1190
+ # Where Microsoft returns the user after sign-in. It resolves the verified directory identity and then re-checks the tenant: the signed-in user&#39;s tenant must equal the tenant of the chat the link started from, so a valid Microsoft sign-in from a different organization is refused here rather than accepted. This is the leg Teams has and the other platforms do not, which is why the Teams flow has an extra address. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1191
+ # @param [Hash] opts the optional parameters
1192
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1193
+ def get_integrations_teams_link_aad_with_http_info(opts = {})
1194
+ if @api_client.config.debugging
1195
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_teams_link_aad ...'
1196
+ end
1197
+ # resource path
1198
+ local_var_path = '/v1/integrations/teams/link/aad'
1199
+
1200
+ # query parameters
1201
+ query_params = opts[:query_params] || {}
1202
+
1203
+ # header parameters
1204
+ header_params = opts[:header_params] || {}
1205
+
1206
+ # form parameters
1207
+ form_params = opts[:form_params] || {}
1208
+
1209
+ # http body (model)
1210
+ post_body = opts[:debug_body]
1211
+
1212
+ # return_type
1213
+ return_type = opts[:debug_return_type]
1214
+
1215
+ # auth_names
1216
+ auth_names = opts[:debug_auth_names] || ['bearer']
1217
+
1218
+ new_options = opts.merge(
1219
+ :operation => :"IntegrationsApi.get_integrations_teams_link_aad",
1220
+ :header_params => header_params,
1221
+ :query_params => query_params,
1222
+ :form_params => form_params,
1223
+ :body => post_body,
1224
+ :auth_names => auth_names,
1225
+ :return_type => return_type
1226
+ )
1227
+
1228
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1229
+ if @api_client.config.debugging
1230
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_teams_link_aad\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1231
+ end
1232
+ return data, status_code, headers
1233
+ end
1234
+
1235
+ # Complete the Teams account link
1236
+ # The final leg: it binds the verified directory identity to the Hanzo account that just signed in, and answers a short confirmation page telling them to return to Teams. The Hanzo credential is sealed into the connected org's KMS namespace. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1237
+ # @param [Hash] opts the optional parameters
1238
+ # @return [nil]
1239
+ def get_integrations_teams_link_callback(opts = {})
1240
+ get_integrations_teams_link_callback_with_http_info(opts)
1241
+ nil
1242
+ end
1243
+
1244
+ # Complete the Teams account link
1245
+ # The final leg: it binds the verified directory identity to the Hanzo account that just signed in, and answers a short confirmation page telling them to return to Teams. The Hanzo credential is sealed into the connected org&#39;s KMS namespace. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1246
+ # @param [Hash] opts the optional parameters
1247
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1248
+ def get_integrations_teams_link_callback_with_http_info(opts = {})
1249
+ if @api_client.config.debugging
1250
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_teams_link_callback ...'
1251
+ end
1252
+ # resource path
1253
+ local_var_path = '/v1/integrations/teams/link/callback'
1254
+
1255
+ # query parameters
1256
+ query_params = opts[:query_params] || {}
1257
+
1258
+ # header parameters
1259
+ header_params = opts[:header_params] || {}
1260
+
1261
+ # form parameters
1262
+ form_params = opts[:form_params] || {}
1263
+
1264
+ # http body (model)
1265
+ post_body = opts[:debug_body]
1266
+
1267
+ # return_type
1268
+ return_type = opts[:debug_return_type]
1269
+
1270
+ # auth_names
1271
+ auth_names = opts[:debug_auth_names] || ['bearer']
1272
+
1273
+ new_options = opts.merge(
1274
+ :operation => :"IntegrationsApi.get_integrations_teams_link_callback",
1275
+ :header_params => header_params,
1276
+ :query_params => query_params,
1277
+ :form_params => form_params,
1278
+ :body => post_body,
1279
+ :auth_names => auth_names,
1280
+ :return_type => return_type
1281
+ )
1282
+
1283
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1284
+ if @api_client.config.debugging
1285
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_teams_link_callback\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1286
+ end
1287
+ return data, status_code, headers
1288
+ end
1289
+
1290
+ # Begin linking a Hanzo account from Telegram
1291
+ # The entry point behind the connect prompt Hanzo sends in Telegram. Unlike the other platforms it answers an HTML PAGE rather than a redirect: Telegram has no OAuth flow, so the page hosts Telegram's Login Widget, and the browser is sent onward only after the user signs in through it. The widget only appears on the domain registered for the bot, so a deployment whose bot domain is unset renders a page with nothing on it. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1292
+ # @param [Hash] opts the optional parameters
1293
+ # @return [nil]
1294
+ def get_integrations_telegram_link(opts = {})
1295
+ get_integrations_telegram_link_with_http_info(opts)
1296
+ nil
1297
+ end
1298
+
1299
+ # Begin linking a Hanzo account from Telegram
1300
+ # The entry point behind the connect prompt Hanzo sends in Telegram. Unlike the other platforms it answers an HTML PAGE rather than a redirect: Telegram has no OAuth flow, so the page hosts Telegram&#39;s Login Widget, and the browser is sent onward only after the user signs in through it. The widget only appears on the domain registered for the bot, so a deployment whose bot domain is unset renders a page with nothing on it. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1301
+ # @param [Hash] opts the optional parameters
1302
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1303
+ def get_integrations_telegram_link_with_http_info(opts = {})
1304
+ if @api_client.config.debugging
1305
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_telegram_link ...'
1306
+ end
1307
+ # resource path
1308
+ local_var_path = '/v1/integrations/telegram/link'
1309
+
1310
+ # query parameters
1311
+ query_params = opts[:query_params] || {}
1312
+
1313
+ # header parameters
1314
+ header_params = opts[:header_params] || {}
1315
+
1316
+ # form parameters
1317
+ form_params = opts[:form_params] || {}
1318
+
1319
+ # http body (model)
1320
+ post_body = opts[:debug_body]
1321
+
1322
+ # return_type
1323
+ return_type = opts[:debug_return_type]
1324
+
1325
+ # auth_names
1326
+ auth_names = opts[:debug_auth_names] || ['bearer']
1327
+
1328
+ new_options = opts.merge(
1329
+ :operation => :"IntegrationsApi.get_integrations_telegram_link",
1330
+ :header_params => header_params,
1331
+ :query_params => query_params,
1332
+ :form_params => form_params,
1333
+ :body => post_body,
1334
+ :auth_names => auth_names,
1335
+ :return_type => return_type
1336
+ )
1337
+
1338
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1339
+ if @api_client.config.debugging
1340
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_telegram_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1341
+ end
1342
+ return data, status_code, headers
1343
+ end
1344
+
1345
+ # Telegram Login Widget return leg
1346
+ # Where Telegram's Login Widget sends the user with its signed authentication data. That data is verified against the bot token — this is the identity source, and it is the widget's signature rather than a code exchange — and the chat is confirmed to be bound to an org before the browser is handed to the Hanzo sign-in. Widget data is only accepted while it is fresh, so a captured sign-in blob cannot be replayed later even though its signature stays valid. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1347
+ # @param [Hash] opts the optional parameters
1348
+ # @return [nil]
1349
+ def get_integrations_telegram_link_auth(opts = {})
1350
+ get_integrations_telegram_link_auth_with_http_info(opts)
1351
+ nil
1352
+ end
1353
+
1354
+ # Telegram Login Widget return leg
1355
+ # Where Telegram&#39;s Login Widget sends the user with its signed authentication data. That data is verified against the bot token — this is the identity source, and it is the widget&#39;s signature rather than a code exchange — and the chat is confirmed to be bound to an org before the browser is handed to the Hanzo sign-in. Widget data is only accepted while it is fresh, so a captured sign-in blob cannot be replayed later even though its signature stays valid. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1356
+ # @param [Hash] opts the optional parameters
1357
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1358
+ def get_integrations_telegram_link_auth_with_http_info(opts = {})
1359
+ if @api_client.config.debugging
1360
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_telegram_link_auth ...'
1361
+ end
1362
+ # resource path
1363
+ local_var_path = '/v1/integrations/telegram/link/auth'
1364
+
1365
+ # query parameters
1366
+ query_params = opts[:query_params] || {}
1367
+
1368
+ # header parameters
1369
+ header_params = opts[:header_params] || {}
1370
+
1371
+ # form parameters
1372
+ form_params = opts[:form_params] || {}
1373
+
1374
+ # http body (model)
1375
+ post_body = opts[:debug_body]
1376
+
1377
+ # return_type
1378
+ return_type = opts[:debug_return_type]
1379
+
1380
+ # auth_names
1381
+ auth_names = opts[:debug_auth_names] || ['bearer']
1382
+
1383
+ new_options = opts.merge(
1384
+ :operation => :"IntegrationsApi.get_integrations_telegram_link_auth",
1385
+ :header_params => header_params,
1386
+ :query_params => query_params,
1387
+ :form_params => form_params,
1388
+ :body => post_body,
1389
+ :auth_names => auth_names,
1390
+ :return_type => return_type
1391
+ )
1392
+
1393
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1394
+ if @api_client.config.debugging
1395
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_telegram_link_auth\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1396
+ end
1397
+ return data, status_code, headers
1398
+ end
1399
+
1400
+ # Complete the Telegram account link
1401
+ # The final leg: it binds the verified Telegram user to the Hanzo account that just signed in, and answers a short confirmation page telling them to return to Telegram. The Hanzo credential is sealed into the connected org's KMS namespace. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL's state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform's own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1402
+ # @param [Hash] opts the optional parameters
1403
+ # @return [nil]
1404
+ def get_integrations_telegram_link_callback(opts = {})
1405
+ get_integrations_telegram_link_callback_with_http_info(opts)
1406
+ nil
1407
+ end
1408
+
1409
+ # Complete the Telegram account link
1410
+ # The final leg: it binds the verified Telegram user to the Hanzo account that just signed in, and answers a short confirmation page telling them to return to Telegram. The Hanzo credential is sealed into the connected org&#39;s KMS namespace. This is one leg of a three-leg flow, and the legs are not interchangeable: a browser is expected to arrive here only from the leg before it. The link URL&#39;s state proves the prompt was server-minted and carries the CHAT it started from — it is provenance only, and it never decides which account gets linked. The account identity always comes from the platform&#39;s own verified sign-in and a host-bound cookie, so forwarding a link to someone else cannot bind their account, and a session lifted into another browser is refused rather than completed. Each link is single-use, and a deployment without linking configured answers 503.
1411
+ # @param [Hash] opts the optional parameters
1412
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1413
+ def get_integrations_telegram_link_callback_with_http_info(opts = {})
1414
+ if @api_client.config.debugging
1415
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_telegram_link_callback ...'
1416
+ end
1417
+ # resource path
1418
+ local_var_path = '/v1/integrations/telegram/link/callback'
1419
+
1420
+ # query parameters
1421
+ query_params = opts[:query_params] || {}
1422
+
1423
+ # header parameters
1424
+ header_params = opts[:header_params] || {}
1425
+
1426
+ # form parameters
1427
+ form_params = opts[:form_params] || {}
1428
+
1429
+ # http body (model)
1430
+ post_body = opts[:debug_body]
1431
+
1432
+ # return_type
1433
+ return_type = opts[:debug_return_type]
1434
+
1435
+ # auth_names
1436
+ auth_names = opts[:debug_auth_names] || ['bearer']
1437
+
1438
+ new_options = opts.merge(
1439
+ :operation => :"IntegrationsApi.get_integrations_telegram_link_callback",
1440
+ :header_params => header_params,
1441
+ :query_params => query_params,
1442
+ :form_params => form_params,
1443
+ :body => post_body,
1444
+ :auth_names => auth_names,
1445
+ :return_type => return_type
1446
+ )
1447
+
1448
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1449
+ if @api_client.config.debugging
1450
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_telegram_link_callback\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1451
+ end
1452
+ return data, status_code, headers
1453
+ end
1454
+
1455
+ # WhatsApp Cloud API subscription challenge
1456
+ # Meta calls this once when the webhook is subscribed, carrying the verify token this deployment was configured with and a challenge to echo. The token is compared in constant time before the echo — answering the challenge without checking it would let anyone point their own app at this address and have it confirm the subscription.
1457
+ # @param [Hash] opts the optional parameters
1458
+ # @return [nil]
1459
+ def get_integrations_whatsapp_webhook(opts = {})
1460
+ get_integrations_whatsapp_webhook_with_http_info(opts)
1461
+ nil
1462
+ end
1463
+
1464
+ # WhatsApp Cloud API subscription challenge
1465
+ # Meta calls this once when the webhook is subscribed, carrying the verify token this deployment was configured with and a challenge to echo. The token is compared in constant time before the echo — answering the challenge without checking it would let anyone point their own app at this address and have it confirm the subscription.
1466
+ # @param [Hash] opts the optional parameters
1467
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1468
+ def get_integrations_whatsapp_webhook_with_http_info(opts = {})
1469
+ if @api_client.config.debugging
1470
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.get_integrations_whatsapp_webhook ...'
1471
+ end
1472
+ # resource path
1473
+ local_var_path = '/v1/integrations/whatsapp/webhook'
1474
+
1475
+ # query parameters
1476
+ query_params = opts[:query_params] || {}
1477
+
1478
+ # header parameters
1479
+ header_params = opts[:header_params] || {}
1480
+
1481
+ # form parameters
1482
+ form_params = opts[:form_params] || {}
1483
+
1484
+ # http body (model)
1485
+ post_body = opts[:debug_body]
1486
+
1487
+ # return_type
1488
+ return_type = opts[:debug_return_type]
1489
+
1490
+ # auth_names
1491
+ auth_names = opts[:debug_auth_names] || ['bearer']
1492
+
1493
+ new_options = opts.merge(
1494
+ :operation => :"IntegrationsApi.get_integrations_whatsapp_webhook",
1495
+ :header_params => header_params,
1496
+ :query_params => query_params,
1497
+ :form_params => form_params,
1498
+ :body => post_body,
1499
+ :auth_names => auth_names,
1500
+ :return_type => return_type
1501
+ )
1502
+
1503
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1504
+ if @api_client.config.debugging
1505
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integrations_whatsapp_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1506
+ end
1507
+ return data, status_code, headers
1508
+ end
1509
+
1510
+ # Acquires the org's credential for one provider.
1511
+ # Acquires the org's credential for one provider. It has TWO paths and the REQUEST picks which: a \"token\" key in the body seals that credential directly (verify-before-store), and its absence begins the 3-legged OAuth flow — minting a single-use nonce plus an HMAC-signed state that binds this org to this provider, and answering with the provider's authorize URL for the caller to redirect to. Fail-closed order, unchanged: no principal → 403; unknown provider → 404; an AdminOnly connector without the caller's own-org admin bit → 403; not configured → 503; KMS not ready → 503 (the flow WILL need to seal a token, so refuse now rather than dead-end at the callback).
1512
+ # @param provider [String] Provider is the connector&#39;s registry id, from the :provider path segment.
1513
+ # @param connect_in [ConnectIn]
1514
+ # @param [Hash] opts the optional parameters
1515
+ # @return [ConnectOut]
1516
+ def post_integrations_by_provider_connect(provider, connect_in, opts = {})
1517
+ data, _status_code, _headers = post_integrations_by_provider_connect_with_http_info(provider, connect_in, opts)
1518
+ data
1519
+ end
1520
+
1521
+ # Acquires the org&#39;s credential for one provider.
1522
+ # Acquires the org&#39;s credential for one provider. It has TWO paths and the REQUEST picks which: a \&quot;token\&quot; key in the body seals that credential directly (verify-before-store), and its absence begins the 3-legged OAuth flow — minting a single-use nonce plus an HMAC-signed state that binds this org to this provider, and answering with the provider&#39;s authorize URL for the caller to redirect to. Fail-closed order, unchanged: no principal → 403; unknown provider → 404; an AdminOnly connector without the caller&#39;s own-org admin bit → 403; not configured → 503; KMS not ready → 503 (the flow WILL need to seal a token, so refuse now rather than dead-end at the callback).
1523
+ # @param provider [String] Provider is the connector&#39;s registry id, from the :provider path segment.
1524
+ # @param connect_in [ConnectIn]
1525
+ # @param [Hash] opts the optional parameters
1526
+ # @return [Array<(ConnectOut, Integer, Hash)>] ConnectOut data, response status code and response headers
1527
+ def post_integrations_by_provider_connect_with_http_info(provider, connect_in, opts = {})
1528
+ if @api_client.config.debugging
1529
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_by_provider_connect ...'
1530
+ end
1531
+ # verify the required parameter 'provider' is set
1532
+ if @api_client.config.client_side_validation && provider.nil?
1533
+ fail ArgumentError, "Missing the required parameter 'provider' when calling IntegrationsApi.post_integrations_by_provider_connect"
1534
+ end
1535
+ # verify the required parameter 'connect_in' is set
1536
+ if @api_client.config.client_side_validation && connect_in.nil?
1537
+ fail ArgumentError, "Missing the required parameter 'connect_in' when calling IntegrationsApi.post_integrations_by_provider_connect"
1538
+ end
1539
+ # resource path
1540
+ local_var_path = '/v1/integrations/{provider}/connect'.sub('{' + 'provider' + '}', CGI.escape(provider.to_s))
1541
+
1542
+ # query parameters
1543
+ query_params = opts[:query_params] || {}
1544
+
1545
+ # header parameters
1546
+ header_params = opts[:header_params] || {}
1547
+ # HTTP header 'Accept' (if needed)
1548
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1549
+ # HTTP header 'Content-Type'
1550
+ content_type = @api_client.select_header_content_type(['application/json'])
1551
+ if !content_type.nil?
1552
+ header_params['Content-Type'] = content_type
1553
+ end
1554
+
1555
+ # form parameters
1556
+ form_params = opts[:form_params] || {}
1557
+
1558
+ # http body (model)
1559
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(connect_in)
1560
+
1561
+ # return_type
1562
+ return_type = opts[:debug_return_type] || 'ConnectOut'
1563
+
1564
+ # auth_names
1565
+ auth_names = opts[:debug_auth_names] || ['bearer']
1566
+
1567
+ new_options = opts.merge(
1568
+ :operation => :"IntegrationsApi.post_integrations_by_provider_connect",
1569
+ :header_params => header_params,
1570
+ :query_params => query_params,
1571
+ :form_params => form_params,
1572
+ :body => post_body,
1573
+ :auth_names => auth_names,
1574
+ :return_type => return_type
1575
+ )
1576
+
1577
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1578
+ if @api_client.config.debugging
1579
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_by_provider_connect\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1580
+ end
1581
+ return data, status_code, headers
1582
+ end
1583
+
1584
+ # Revokes (best-effort) and forgets an org's connection: it deletes every custodied KMS secret and the connection row.
1585
+ # Revokes (best-effort) and forgets an org's connection: it deletes every custodied KMS secret and the connection row. Idempotent — disconnecting a provider that was never connected still returns {disconnected:true}. Symmetric with connect: an AdminOnly connector needs the caller's own-org admin bit.
1586
+ # @param provider [String] Provider is the registry id of the connector — \&quot;slack\&quot;, \&quot;github\&quot;, \&quot;cloudflare\&quot;. Unknown ids are 404, as are the user-plane (/v1/integrations/connectors) providers, which this surface never resolves.
1587
+ # @param [Hash] opts the optional parameters
1588
+ # @return [DisconnectOut]
1589
+ def post_integrations_by_provider_disconnect(provider, opts = {})
1590
+ data, _status_code, _headers = post_integrations_by_provider_disconnect_with_http_info(provider, opts)
1591
+ data
1592
+ end
1593
+
1594
+ # Revokes (best-effort) and forgets an org&#39;s connection: it deletes every custodied KMS secret and the connection row.
1595
+ # Revokes (best-effort) and forgets an org&#39;s connection: it deletes every custodied KMS secret and the connection row. Idempotent — disconnecting a provider that was never connected still returns {disconnected:true}. Symmetric with connect: an AdminOnly connector needs the caller&#39;s own-org admin bit.
1596
+ # @param provider [String] Provider is the registry id of the connector — \&quot;slack\&quot;, \&quot;github\&quot;, \&quot;cloudflare\&quot;. Unknown ids are 404, as are the user-plane (/v1/integrations/connectors) providers, which this surface never resolves.
1597
+ # @param [Hash] opts the optional parameters
1598
+ # @return [Array<(DisconnectOut, Integer, Hash)>] DisconnectOut data, response status code and response headers
1599
+ def post_integrations_by_provider_disconnect_with_http_info(provider, opts = {})
1600
+ if @api_client.config.debugging
1601
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_by_provider_disconnect ...'
1602
+ end
1603
+ # verify the required parameter 'provider' is set
1604
+ if @api_client.config.client_side_validation && provider.nil?
1605
+ fail ArgumentError, "Missing the required parameter 'provider' when calling IntegrationsApi.post_integrations_by_provider_disconnect"
1606
+ end
1607
+ # resource path
1608
+ local_var_path = '/v1/integrations/{provider}/disconnect'.sub('{' + 'provider' + '}', CGI.escape(provider.to_s))
1609
+
1610
+ # query parameters
1611
+ query_params = opts[:query_params] || {}
1612
+
1613
+ # header parameters
1614
+ header_params = opts[:header_params] || {}
1615
+ # HTTP header 'Accept' (if needed)
1616
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1617
+
1618
+ # form parameters
1619
+ form_params = opts[:form_params] || {}
1620
+
1621
+ # http body (model)
1622
+ post_body = opts[:debug_body]
1623
+
1624
+ # return_type
1625
+ return_type = opts[:debug_return_type] || 'DisconnectOut'
1626
+
1627
+ # auth_names
1628
+ auth_names = opts[:debug_auth_names] || ['bearer']
1629
+
1630
+ new_options = opts.merge(
1631
+ :operation => :"IntegrationsApi.post_integrations_by_provider_disconnect",
1632
+ :header_params => header_params,
1633
+ :query_params => query_params,
1634
+ :form_params => form_params,
1635
+ :body => post_body,
1636
+ :auth_names => auth_names,
1637
+ :return_type => return_type
1638
+ )
1639
+
1640
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1641
+ if @api_client.config.debugging
1642
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_by_provider_disconnect\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1643
+ end
1644
+ return data, status_code, headers
1645
+ end
1646
+
1647
+ # Re-checks a CONNECTED apikey connector's stored credential against the provider, live (`hanzo connector verify`).
1648
+ # Re-checks a CONNECTED apikey connector's stored credential against the provider, live (`hanzo connector verify`). Org-scoped (any member may check status); the credential is read from KMS, verified, and NEVER returned or logged. A verification failure is reported as {active:false}, not an error — the console/ CLI renders it. Only apikey providers support verify (OAuth tokens are checked at use, not re-verified here).
1649
+ # @param provider [String] Provider is the registry id of the connector — \&quot;slack\&quot;, \&quot;github\&quot;, \&quot;cloudflare\&quot;. Unknown ids are 404, as are the user-plane (/v1/integrations/connectors) providers, which this surface never resolves.
1650
+ # @param [Hash] opts the optional parameters
1651
+ # @return [VerifyOut]
1652
+ def post_integrations_by_provider_verify(provider, opts = {})
1653
+ data, _status_code, _headers = post_integrations_by_provider_verify_with_http_info(provider, opts)
1654
+ data
1655
+ end
1656
+
1657
+ # Re-checks a CONNECTED apikey connector&#39;s stored credential against the provider, live (&#x60;hanzo connector verify&#x60;).
1658
+ # Re-checks a CONNECTED apikey connector&#39;s stored credential against the provider, live (&#x60;hanzo connector verify&#x60;). Org-scoped (any member may check status); the credential is read from KMS, verified, and NEVER returned or logged. A verification failure is reported as {active:false}, not an error — the console/ CLI renders it. Only apikey providers support verify (OAuth tokens are checked at use, not re-verified here).
1659
+ # @param provider [String] Provider is the registry id of the connector — \&quot;slack\&quot;, \&quot;github\&quot;, \&quot;cloudflare\&quot;. Unknown ids are 404, as are the user-plane (/v1/integrations/connectors) providers, which this surface never resolves.
1660
+ # @param [Hash] opts the optional parameters
1661
+ # @return [Array<(VerifyOut, Integer, Hash)>] VerifyOut data, response status code and response headers
1662
+ def post_integrations_by_provider_verify_with_http_info(provider, opts = {})
1663
+ if @api_client.config.debugging
1664
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_by_provider_verify ...'
1665
+ end
1666
+ # verify the required parameter 'provider' is set
1667
+ if @api_client.config.client_side_validation && provider.nil?
1668
+ fail ArgumentError, "Missing the required parameter 'provider' when calling IntegrationsApi.post_integrations_by_provider_verify"
1669
+ end
1670
+ # resource path
1671
+ local_var_path = '/v1/integrations/{provider}/verify'.sub('{' + 'provider' + '}', CGI.escape(provider.to_s))
1672
+
1673
+ # query parameters
1674
+ query_params = opts[:query_params] || {}
1675
+
1676
+ # header parameters
1677
+ header_params = opts[:header_params] || {}
1678
+ # HTTP header 'Accept' (if needed)
1679
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1680
+
1681
+ # form parameters
1682
+ form_params = opts[:form_params] || {}
1683
+
1684
+ # http body (model)
1685
+ post_body = opts[:debug_body]
1686
+
1687
+ # return_type
1688
+ return_type = opts[:debug_return_type] || 'VerifyOut'
1689
+
1690
+ # auth_names
1691
+ auth_names = opts[:debug_auth_names] || ['bearer']
1692
+
1693
+ new_options = opts.merge(
1694
+ :operation => :"IntegrationsApi.post_integrations_by_provider_verify",
1695
+ :header_params => header_params,
1696
+ :query_params => query_params,
1697
+ :form_params => form_params,
1698
+ :body => post_body,
1699
+ :auth_names => auth_names,
1700
+ :return_type => return_type
1701
+ )
1702
+
1703
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1704
+ if @api_client.config.debugging
1705
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_by_provider_verify\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1706
+ end
1707
+ return data, status_code, headers
1708
+ end
1709
+
1710
+ # Forces a token rotation for a connected connector, ahead of the automatic rotation a token read would do inside the expiry window.
1711
+ # Forces a token rotation for a connected connector, ahead of the automatic rotation a token read would do inside the expiry window. Only providers that declare a Refresh support it.
1712
+ # @param id [String] ID is the connector id, provider + \&quot;:\&quot; + label (\&quot;openai:default\&quot;) — the auth-profile-id shape. Another user&#39;s id is simply no row, so 404.
1713
+ # @param [Hash] opts the optional parameters
1714
+ # @return [RefreshOut]
1715
+ def post_integrations_connectors_by_id_refresh(id, opts = {})
1716
+ data, _status_code, _headers = post_integrations_connectors_by_id_refresh_with_http_info(id, opts)
1717
+ data
1718
+ end
1719
+
1720
+ # Forces a token rotation for a connected connector, ahead of the automatic rotation a token read would do inside the expiry window.
1721
+ # Forces a token rotation for a connected connector, ahead of the automatic rotation a token read would do inside the expiry window. Only providers that declare a Refresh support it.
1722
+ # @param id [String] ID is the connector id, provider + \&quot;:\&quot; + label (\&quot;openai:default\&quot;) — the auth-profile-id shape. Another user&#39;s id is simply no row, so 404.
1723
+ # @param [Hash] opts the optional parameters
1724
+ # @return [Array<(RefreshOut, Integer, Hash)>] RefreshOut data, response status code and response headers
1725
+ def post_integrations_connectors_by_id_refresh_with_http_info(id, opts = {})
1726
+ if @api_client.config.debugging
1727
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_connectors_by_id_refresh ...'
1728
+ end
1729
+ # verify the required parameter 'id' is set
1730
+ if @api_client.config.client_side_validation && id.nil?
1731
+ fail ArgumentError, "Missing the required parameter 'id' when calling IntegrationsApi.post_integrations_connectors_by_id_refresh"
1732
+ end
1733
+ # resource path
1734
+ local_var_path = '/v1/integrations/connectors/{id}/refresh'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1735
+
1736
+ # query parameters
1737
+ query_params = opts[:query_params] || {}
1738
+
1739
+ # header parameters
1740
+ header_params = opts[:header_params] || {}
1741
+ # HTTP header 'Accept' (if needed)
1742
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1743
+
1744
+ # form parameters
1745
+ form_params = opts[:form_params] || {}
1746
+
1747
+ # http body (model)
1748
+ post_body = opts[:debug_body]
1749
+
1750
+ # return_type
1751
+ return_type = opts[:debug_return_type] || 'RefreshOut'
1752
+
1753
+ # auth_names
1754
+ auth_names = opts[:debug_auth_names] || ['bearer']
1755
+
1756
+ new_options = opts.merge(
1757
+ :operation => :"IntegrationsApi.post_integrations_connectors_by_id_refresh",
1758
+ :header_params => header_params,
1759
+ :query_params => query_params,
1760
+ :form_params => form_params,
1761
+ :body => post_body,
1762
+ :auth_names => auth_names,
1763
+ :return_type => return_type
1764
+ )
1765
+
1766
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1767
+ if @api_client.config.debugging
1768
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_connectors_by_id_refresh\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1769
+ end
1770
+ return data, status_code, headers
1771
+ end
1772
+
1773
+ # Is the direct intake path: a customer-held token/setup-token (Verify) or an externally obtained OAuth bundle from the CLI's local PKCE (Adopt).
1774
+ # Is the direct intake path: a customer-held token/setup-token (Verify) or an externally obtained OAuth bundle from the CLI's local PKCE (Adopt). ALWAYS verify-before-store: a bad credential is refused and NOTHING is persisted (connectByCredential's fail-closed order).
1775
+ # @param provider [String] Provider is the user-scoped provider&#39;s registry id, from the path.
1776
+ # @param credential_in [CredentialIn]
1777
+ # @param [Hash] opts the optional parameters
1778
+ # @return [CredentialOut]
1779
+ def post_integrations_connectors_by_provider_credential(provider, credential_in, opts = {})
1780
+ data, _status_code, _headers = post_integrations_connectors_by_provider_credential_with_http_info(provider, credential_in, opts)
1781
+ data
1782
+ end
1783
+
1784
+ # Is the direct intake path: a customer-held token/setup-token (Verify) or an externally obtained OAuth bundle from the CLI&#39;s local PKCE (Adopt).
1785
+ # Is the direct intake path: a customer-held token/setup-token (Verify) or an externally obtained OAuth bundle from the CLI&#39;s local PKCE (Adopt). ALWAYS verify-before-store: a bad credential is refused and NOTHING is persisted (connectByCredential&#39;s fail-closed order).
1786
+ # @param provider [String] Provider is the user-scoped provider&#39;s registry id, from the path.
1787
+ # @param credential_in [CredentialIn]
1788
+ # @param [Hash] opts the optional parameters
1789
+ # @return [Array<(CredentialOut, Integer, Hash)>] CredentialOut data, response status code and response headers
1790
+ def post_integrations_connectors_by_provider_credential_with_http_info(provider, credential_in, opts = {})
1791
+ if @api_client.config.debugging
1792
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_connectors_by_provider_credential ...'
1793
+ end
1794
+ # verify the required parameter 'provider' is set
1795
+ if @api_client.config.client_side_validation && provider.nil?
1796
+ fail ArgumentError, "Missing the required parameter 'provider' when calling IntegrationsApi.post_integrations_connectors_by_provider_credential"
1797
+ end
1798
+ # verify the required parameter 'credential_in' is set
1799
+ if @api_client.config.client_side_validation && credential_in.nil?
1800
+ fail ArgumentError, "Missing the required parameter 'credential_in' when calling IntegrationsApi.post_integrations_connectors_by_provider_credential"
1801
+ end
1802
+ # resource path
1803
+ local_var_path = '/v1/integrations/connectors/{provider}/credential'.sub('{' + 'provider' + '}', CGI.escape(provider.to_s))
1804
+
1805
+ # query parameters
1806
+ query_params = opts[:query_params] || {}
1807
+
1808
+ # header parameters
1809
+ header_params = opts[:header_params] || {}
1810
+ # HTTP header 'Accept' (if needed)
1811
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1812
+ # HTTP header 'Content-Type'
1813
+ content_type = @api_client.select_header_content_type(['application/json'])
1814
+ if !content_type.nil?
1815
+ header_params['Content-Type'] = content_type
1816
+ end
1817
+
1818
+ # form parameters
1819
+ form_params = opts[:form_params] || {}
1820
+
1821
+ # http body (model)
1822
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(credential_in)
1823
+
1824
+ # return_type
1825
+ return_type = opts[:debug_return_type] || 'CredentialOut'
1826
+
1827
+ # auth_names
1828
+ auth_names = opts[:debug_auth_names] || ['bearer']
1829
+
1830
+ new_options = opts.merge(
1831
+ :operation => :"IntegrationsApi.post_integrations_connectors_by_provider_credential",
1832
+ :header_params => header_params,
1833
+ :query_params => query_params,
1834
+ :form_params => form_params,
1835
+ :body => post_body,
1836
+ :auth_names => auth_names,
1837
+ :return_type => return_type
1838
+ )
1839
+
1840
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1841
+ if @api_client.config.debugging
1842
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_connectors_by_provider_credential\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1843
+ end
1844
+ return data, status_code, headers
1845
+ end
1846
+
1847
+ # Begins a device sign-in and returns the code to show the user plus how to poll for completion.
1848
+ # Begins a device sign-in and returns the code to show the user plus how to poll for completion. KMS readiness is checked NOW rather than dead-ending the user at poll-done (connect() parity), and the per-provider connector cap is checked before the provider is called. The provider's device code is persisted only in the encrypted grants table and is NEVER returned.
1849
+ # @param provider [String] Provider is the user-scoped provider&#39;s registry id, from the path.
1850
+ # @param device_start_in [DeviceStartIn]
1851
+ # @param [Hash] opts the optional parameters
1852
+ # @return [DeviceStartOut]
1853
+ def post_integrations_connectors_by_provider_device(provider, device_start_in, opts = {})
1854
+ data, _status_code, _headers = post_integrations_connectors_by_provider_device_with_http_info(provider, device_start_in, opts)
1855
+ data
1856
+ end
1857
+
1858
+ # Begins a device sign-in and returns the code to show the user plus how to poll for completion.
1859
+ # Begins a device sign-in and returns the code to show the user plus how to poll for completion. KMS readiness is checked NOW rather than dead-ending the user at poll-done (connect() parity), and the per-provider connector cap is checked before the provider is called. The provider&#39;s device code is persisted only in the encrypted grants table and is NEVER returned.
1860
+ # @param provider [String] Provider is the user-scoped provider&#39;s registry id, from the path.
1861
+ # @param device_start_in [DeviceStartIn]
1862
+ # @param [Hash] opts the optional parameters
1863
+ # @return [Array<(DeviceStartOut, Integer, Hash)>] DeviceStartOut data, response status code and response headers
1864
+ def post_integrations_connectors_by_provider_device_with_http_info(provider, device_start_in, opts = {})
1865
+ if @api_client.config.debugging
1866
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_connectors_by_provider_device ...'
1867
+ end
1868
+ # verify the required parameter 'provider' is set
1869
+ if @api_client.config.client_side_validation && provider.nil?
1870
+ fail ArgumentError, "Missing the required parameter 'provider' when calling IntegrationsApi.post_integrations_connectors_by_provider_device"
1871
+ end
1872
+ # verify the required parameter 'device_start_in' is set
1873
+ if @api_client.config.client_side_validation && device_start_in.nil?
1874
+ fail ArgumentError, "Missing the required parameter 'device_start_in' when calling IntegrationsApi.post_integrations_connectors_by_provider_device"
1875
+ end
1876
+ # resource path
1877
+ local_var_path = '/v1/integrations/connectors/{provider}/device'.sub('{' + 'provider' + '}', CGI.escape(provider.to_s))
1878
+
1879
+ # query parameters
1880
+ query_params = opts[:query_params] || {}
1881
+
1882
+ # header parameters
1883
+ header_params = opts[:header_params] || {}
1884
+ # HTTP header 'Accept' (if needed)
1885
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1886
+ # HTTP header 'Content-Type'
1887
+ content_type = @api_client.select_header_content_type(['application/json'])
1888
+ if !content_type.nil?
1889
+ header_params['Content-Type'] = content_type
1890
+ end
1891
+
1892
+ # form parameters
1893
+ form_params = opts[:form_params] || {}
1894
+
1895
+ # http body (model)
1896
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(device_start_in)
1897
+
1898
+ # return_type
1899
+ return_type = opts[:debug_return_type] || 'DeviceStartOut'
1900
+
1901
+ # auth_names
1902
+ auth_names = opts[:debug_auth_names] || ['bearer']
1903
+
1904
+ new_options = opts.merge(
1905
+ :operation => :"IntegrationsApi.post_integrations_connectors_by_provider_device",
1906
+ :header_params => header_params,
1907
+ :query_params => query_params,
1908
+ :form_params => form_params,
1909
+ :body => post_body,
1910
+ :auth_names => auth_names,
1911
+ :return_type => return_type
1912
+ )
1913
+
1914
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1915
+ if @api_client.config.debugging
1916
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_connectors_by_provider_device\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1917
+ end
1918
+ return data, status_code, headers
1919
+ end
1920
+
1921
+ # Advances a device sign-in.
1922
+ # Advances a device sign-in. Terminal outcomes are DATA, not errors (verifyConn {active:false} discipline) — the status set is closed: pending|connected|denied|expired. pollSlow collapses to \"pending\" on the wire; the raised cadence rides interval.
1923
+ # @param provider [String] Provider is the user-scoped provider&#39;s registry id, from the path.
1924
+ # @param flow [String] Flow is the id deviceStartOut returned. Expired or another user&#39;s flow is indistinguishable from an unknown one: 404.
1925
+ # @param [Hash] opts the optional parameters
1926
+ # @return [DevicePollOut]
1927
+ def post_integrations_connectors_by_provider_device_by_flow_poll(provider, flow, opts = {})
1928
+ data, _status_code, _headers = post_integrations_connectors_by_provider_device_by_flow_poll_with_http_info(provider, flow, opts)
1929
+ data
1930
+ end
1931
+
1932
+ # Advances a device sign-in.
1933
+ # Advances a device sign-in. Terminal outcomes are DATA, not errors (verifyConn {active:false} discipline) — the status set is closed: pending|connected|denied|expired. pollSlow collapses to \&quot;pending\&quot; on the wire; the raised cadence rides interval.
1934
+ # @param provider [String] Provider is the user-scoped provider&#39;s registry id, from the path.
1935
+ # @param flow [String] Flow is the id deviceStartOut returned. Expired or another user&#39;s flow is indistinguishable from an unknown one: 404.
1936
+ # @param [Hash] opts the optional parameters
1937
+ # @return [Array<(DevicePollOut, Integer, Hash)>] DevicePollOut data, response status code and response headers
1938
+ def post_integrations_connectors_by_provider_device_by_flow_poll_with_http_info(provider, flow, opts = {})
1939
+ if @api_client.config.debugging
1940
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_connectors_by_provider_device_by_flow_poll ...'
1941
+ end
1942
+ # verify the required parameter 'provider' is set
1943
+ if @api_client.config.client_side_validation && provider.nil?
1944
+ fail ArgumentError, "Missing the required parameter 'provider' when calling IntegrationsApi.post_integrations_connectors_by_provider_device_by_flow_poll"
1945
+ end
1946
+ # verify the required parameter 'flow' is set
1947
+ if @api_client.config.client_side_validation && flow.nil?
1948
+ fail ArgumentError, "Missing the required parameter 'flow' when calling IntegrationsApi.post_integrations_connectors_by_provider_device_by_flow_poll"
1949
+ end
1950
+ # resource path
1951
+ local_var_path = '/v1/integrations/connectors/{provider}/device/{flow}/poll'.sub('{' + 'provider' + '}', CGI.escape(provider.to_s)).sub('{' + 'flow' + '}', CGI.escape(flow.to_s))
1952
+
1953
+ # query parameters
1954
+ query_params = opts[:query_params] || {}
1955
+
1956
+ # header parameters
1957
+ header_params = opts[:header_params] || {}
1958
+ # HTTP header 'Accept' (if needed)
1959
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1960
+
1961
+ # form parameters
1962
+ form_params = opts[:form_params] || {}
1963
+
1964
+ # http body (model)
1965
+ post_body = opts[:debug_body]
1966
+
1967
+ # return_type
1968
+ return_type = opts[:debug_return_type] || 'DevicePollOut'
1969
+
1970
+ # auth_names
1971
+ auth_names = opts[:debug_auth_names] || ['bearer']
1972
+
1973
+ new_options = opts.merge(
1974
+ :operation => :"IntegrationsApi.post_integrations_connectors_by_provider_device_by_flow_poll",
1975
+ :header_params => header_params,
1976
+ :query_params => query_params,
1977
+ :form_params => form_params,
1978
+ :body => post_body,
1979
+ :auth_names => auth_names,
1980
+ :return_type => return_type
1981
+ )
1982
+
1983
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1984
+ if @api_client.config.debugging
1985
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_connectors_by_provider_device_by_flow_poll\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1986
+ end
1987
+ return data, status_code, headers
1988
+ end
1989
+
1990
+ # Discord interactions endpoint
1991
+ # The Interactions Endpoint URL for the Discord app. It answers Discord's PING with a PONG, and handles the `/hanzo` slash command by acknowledging with a deferred ephemeral reply and editing that reply with the answer once the agent has run. Any other interaction is acknowledged and ignored. Requests are verified by ED25519 SIGNATURE over the timestamp and body against the app's public key — not by HMAC, unlike the Slack webhooks. Interactions work over plain HTTP, so no gateway connection and no message-content intent is involved. Discord does not retry, so this is the one channel where being at capacity is shown to the user as an ephemeral ask-to-run-it-again rather than answered as a retriable failure — nothing is recorded either way, so the next attempt is clean. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400.
1992
+ # @param [Hash] opts the optional parameters
1993
+ # @return [nil]
1994
+ def post_integrations_discord_interactions(opts = {})
1995
+ post_integrations_discord_interactions_with_http_info(opts)
1996
+ nil
1997
+ end
1998
+
1999
+ # Discord interactions endpoint
2000
+ # The Interactions Endpoint URL for the Discord app. It answers Discord&#39;s PING with a PONG, and handles the &#x60;/hanzo&#x60; slash command by acknowledging with a deferred ephemeral reply and editing that reply with the answer once the agent has run. Any other interaction is acknowledged and ignored. Requests are verified by ED25519 SIGNATURE over the timestamp and body against the app&#39;s public key — not by HMAC, unlike the Slack webhooks. Interactions work over plain HTTP, so no gateway connection and no message-content intent is involved. Discord does not retry, so this is the one channel where being at capacity is shown to the user as an ephemeral ask-to-run-it-again rather than answered as a retriable failure — nothing is recorded either way, so the next attempt is clean. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400.
2001
+ # @param [Hash] opts the optional parameters
2002
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2003
+ def post_integrations_discord_interactions_with_http_info(opts = {})
2004
+ if @api_client.config.debugging
2005
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_discord_interactions ...'
2006
+ end
2007
+ # resource path
2008
+ local_var_path = '/v1/integrations/discord/interactions'
2009
+
2010
+ # query parameters
2011
+ query_params = opts[:query_params] || {}
2012
+
2013
+ # header parameters
2014
+ header_params = opts[:header_params] || {}
2015
+
2016
+ # form parameters
2017
+ form_params = opts[:form_params] || {}
2018
+
2019
+ # http body (model)
2020
+ post_body = opts[:debug_body]
2021
+
2022
+ # return_type
2023
+ return_type = opts[:debug_return_type]
2024
+
2025
+ # auth_names
2026
+ auth_names = opts[:debug_auth_names] || ['bearer']
2027
+
2028
+ new_options = opts.merge(
2029
+ :operation => :"IntegrationsApi.post_integrations_discord_interactions",
2030
+ :header_params => header_params,
2031
+ :query_params => query_params,
2032
+ :form_params => form_params,
2033
+ :body => post_body,
2034
+ :auth_names => auth_names,
2035
+ :return_type => return_type
2036
+ )
2037
+
2038
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2039
+ if @api_client.config.debugging
2040
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_discord_interactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2041
+ end
2042
+ return data, status_code, headers
2043
+ end
2044
+
2045
+ # Binds installations the App ALREADY holds to the org the caller is acting in — the reconciliation for a grant that happened outside our connect flow.
2046
+ # Binds installations the App ALREADY holds to the org the caller is acting in — the reconciliation for a grant that happened outside our connect flow. An installation IS the grant: GitHub recorded the consent when the App was installed, and our connection row is bookkeeping that never got written because nobody came through our callback. This writes that row from the App's own view, so 23 accounts granted straight from GitHub stop reading as nothing. The org is taken from the VALIDATED PRINCIPAL and never from the body, because it is the one part GitHub cannot tell us. An installation carries an account login, a type and a repository selection — nothing that names a Hanzo org. So the binding cannot be DERIVED, only asserted, and the only unforgeable assertion available is the org the caller is already acting in. Inferring one from the account name would be a guess the store cannot catch: its key is (org,provider,owner), so a wrong org is a valid row, and a valid row is a mirror pointed at the wrong tenant. SUPER ADMIN only, for that same reason. A tenant's proof that an account is theirs is GitHub's own consent screen — the connect flow — and without it any org could claim any account the App holds. Platform sudo is already the scope that reads the whole install list, so it is the scope that may bind from it; giving a tenant this verb would hand it every other tenant's repositories. Idempotent: the row is keyed (org,provider,owner) and connected_at survives an upsert, so claiming twice rebinds the same account to the same org and reports it under `already`. Re-claiming also REFRESHES the installation id, so an account reinstalled on GitHub — new id, same login — self-heals instead of minting tokens against a dead installation. Claiming an account another org holds ADDS this org's row and leaves theirs standing, so no org loses an integration it is using.
2047
+ # @param github_claim_in [GithubClaimIn]
2048
+ # @param [Hash] opts the optional parameters
2049
+ # @return [GithubClaimOut]
2050
+ def post_integrations_github_claim(github_claim_in, opts = {})
2051
+ data, _status_code, _headers = post_integrations_github_claim_with_http_info(github_claim_in, opts)
2052
+ data
2053
+ end
2054
+
2055
+ # Binds installations the App ALREADY holds to the org the caller is acting in — the reconciliation for a grant that happened outside our connect flow.
2056
+ # Binds installations the App ALREADY holds to the org the caller is acting in — the reconciliation for a grant that happened outside our connect flow. An installation IS the grant: GitHub recorded the consent when the App was installed, and our connection row is bookkeeping that never got written because nobody came through our callback. This writes that row from the App&#39;s own view, so 23 accounts granted straight from GitHub stop reading as nothing. The org is taken from the VALIDATED PRINCIPAL and never from the body, because it is the one part GitHub cannot tell us. An installation carries an account login, a type and a repository selection — nothing that names a Hanzo org. So the binding cannot be DERIVED, only asserted, and the only unforgeable assertion available is the org the caller is already acting in. Inferring one from the account name would be a guess the store cannot catch: its key is (org,provider,owner), so a wrong org is a valid row, and a valid row is a mirror pointed at the wrong tenant. SUPER ADMIN only, for that same reason. A tenant&#39;s proof that an account is theirs is GitHub&#39;s own consent screen — the connect flow — and without it any org could claim any account the App holds. Platform sudo is already the scope that reads the whole install list, so it is the scope that may bind from it; giving a tenant this verb would hand it every other tenant&#39;s repositories. Idempotent: the row is keyed (org,provider,owner) and connected_at survives an upsert, so claiming twice rebinds the same account to the same org and reports it under &#x60;already&#x60;. Re-claiming also REFRESHES the installation id, so an account reinstalled on GitHub — new id, same login — self-heals instead of minting tokens against a dead installation. Claiming an account another org holds ADDS this org&#39;s row and leaves theirs standing, so no org loses an integration it is using.
2057
+ # @param github_claim_in [GithubClaimIn]
2058
+ # @param [Hash] opts the optional parameters
2059
+ # @return [Array<(GithubClaimOut, Integer, Hash)>] GithubClaimOut data, response status code and response headers
2060
+ def post_integrations_github_claim_with_http_info(github_claim_in, opts = {})
2061
+ if @api_client.config.debugging
2062
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_github_claim ...'
2063
+ end
2064
+ # verify the required parameter 'github_claim_in' is set
2065
+ if @api_client.config.client_side_validation && github_claim_in.nil?
2066
+ fail ArgumentError, "Missing the required parameter 'github_claim_in' when calling IntegrationsApi.post_integrations_github_claim"
2067
+ end
2068
+ # resource path
2069
+ local_var_path = '/v1/integrations/github/claim'
2070
+
2071
+ # query parameters
2072
+ query_params = opts[:query_params] || {}
2073
+
2074
+ # header parameters
2075
+ header_params = opts[:header_params] || {}
2076
+ # HTTP header 'Accept' (if needed)
2077
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2078
+ # HTTP header 'Content-Type'
2079
+ content_type = @api_client.select_header_content_type(['application/json'])
2080
+ if !content_type.nil?
2081
+ header_params['Content-Type'] = content_type
2082
+ end
2083
+
2084
+ # form parameters
2085
+ form_params = opts[:form_params] || {}
2086
+
2087
+ # http body (model)
2088
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(github_claim_in)
2089
+
2090
+ # return_type
2091
+ return_type = opts[:debug_return_type] || 'GithubClaimOut'
2092
+
2093
+ # auth_names
2094
+ auth_names = opts[:debug_auth_names] || ['bearer']
2095
+
2096
+ new_options = opts.merge(
2097
+ :operation => :"IntegrationsApi.post_integrations_github_claim",
2098
+ :header_params => header_params,
2099
+ :query_params => query_params,
2100
+ :form_params => form_params,
2101
+ :body => post_body,
2102
+ :auth_names => auth_names,
2103
+ :return_type => return_type
2104
+ )
2105
+
2106
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2107
+ if @api_client.config.debugging
2108
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_github_claim\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2109
+ end
2110
+ return data, status_code, headers
2111
+ end
2112
+
2113
+ # Forks a granted repository.
2114
+ # Forks a granted repository. GitHub's fork is ASYNCHRONOUS: it answers 202 with the target repo and populates it in the background, and it answers the same 202 when the fork already exists. So this reports what GitHub said rather than waiting — a call that blocked until the clone finished would time out on a large repository and tell the caller nothing it does not already know.
2115
+ # @param github_fork_req [GithubForkReq]
2116
+ # @param [Hash] opts the optional parameters
2117
+ # @return [GithubForkOut]
2118
+ def post_integrations_github_fork(github_fork_req, opts = {})
2119
+ data, _status_code, _headers = post_integrations_github_fork_with_http_info(github_fork_req, opts)
2120
+ data
2121
+ end
2122
+
2123
+ # Forks a granted repository.
2124
+ # Forks a granted repository. GitHub&#39;s fork is ASYNCHRONOUS: it answers 202 with the target repo and populates it in the background, and it answers the same 202 when the fork already exists. So this reports what GitHub said rather than waiting — a call that blocked until the clone finished would time out on a large repository and tell the caller nothing it does not already know.
2125
+ # @param github_fork_req [GithubForkReq]
2126
+ # @param [Hash] opts the optional parameters
2127
+ # @return [Array<(GithubForkOut, Integer, Hash)>] GithubForkOut data, response status code and response headers
2128
+ def post_integrations_github_fork_with_http_info(github_fork_req, opts = {})
2129
+ if @api_client.config.debugging
2130
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_github_fork ...'
2131
+ end
2132
+ # verify the required parameter 'github_fork_req' is set
2133
+ if @api_client.config.client_side_validation && github_fork_req.nil?
2134
+ fail ArgumentError, "Missing the required parameter 'github_fork_req' when calling IntegrationsApi.post_integrations_github_fork"
2135
+ end
2136
+ # resource path
2137
+ local_var_path = '/v1/integrations/github/fork'
2138
+
2139
+ # query parameters
2140
+ query_params = opts[:query_params] || {}
2141
+
2142
+ # header parameters
2143
+ header_params = opts[:header_params] || {}
2144
+ # HTTP header 'Accept' (if needed)
2145
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2146
+ # HTTP header 'Content-Type'
2147
+ content_type = @api_client.select_header_content_type(['application/json'])
2148
+ if !content_type.nil?
2149
+ header_params['Content-Type'] = content_type
2150
+ end
2151
+
2152
+ # form parameters
2153
+ form_params = opts[:form_params] || {}
2154
+
2155
+ # http body (model)
2156
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(github_fork_req)
2157
+
2158
+ # return_type
2159
+ return_type = opts[:debug_return_type] || 'GithubForkOut'
2160
+
2161
+ # auth_names
2162
+ auth_names = opts[:debug_auth_names] || ['bearer']
2163
+
2164
+ new_options = opts.merge(
2165
+ :operation => :"IntegrationsApi.post_integrations_github_fork",
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(:POST, local_var_path, new_options)
2175
+ if @api_client.config.debugging
2176
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_github_fork\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2177
+ end
2178
+ return data, status_code, headers
2179
+ end
2180
+
2181
+ # Seeds the native todo with the EXISTING issues across the org's granted repos (default state=open); the webhook keeps them live thereafter.
2182
+ # Seeds the native todo with the EXISTING issues across the org's granted repos (default state=open); the webhook keeps them live thereafter. Org-scoped by the validated principal — a caller only ever backfills its OWN org. Synchronous + bounded (a total time budget and an issue cap) so it returns the counts directly; idempotent by ExtRef, so a re-run continues where a truncated pass left off and never duplicates.
2183
+ # @param github_backfill_in [GithubBackfillIn]
2184
+ # @param [Hash] opts the optional parameters
2185
+ # @return [GithubBackfillResult]
2186
+ def post_integrations_github_issues_backfill(github_backfill_in, opts = {})
2187
+ data, _status_code, _headers = post_integrations_github_issues_backfill_with_http_info(github_backfill_in, opts)
2188
+ data
2189
+ end
2190
+
2191
+ # Seeds the native todo with the EXISTING issues across the org&#39;s granted repos (default state&#x3D;open); the webhook keeps them live thereafter.
2192
+ # Seeds the native todo with the EXISTING issues across the org&#39;s granted repos (default state&#x3D;open); the webhook keeps them live thereafter. Org-scoped by the validated principal — a caller only ever backfills its OWN org. Synchronous + bounded (a total time budget and an issue cap) so it returns the counts directly; idempotent by ExtRef, so a re-run continues where a truncated pass left off and never duplicates.
2193
+ # @param github_backfill_in [GithubBackfillIn]
2194
+ # @param [Hash] opts the optional parameters
2195
+ # @return [Array<(GithubBackfillResult, Integer, Hash)>] GithubBackfillResult data, response status code and response headers
2196
+ def post_integrations_github_issues_backfill_with_http_info(github_backfill_in, opts = {})
2197
+ if @api_client.config.debugging
2198
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_github_issues_backfill ...'
2199
+ end
2200
+ # verify the required parameter 'github_backfill_in' is set
2201
+ if @api_client.config.client_side_validation && github_backfill_in.nil?
2202
+ fail ArgumentError, "Missing the required parameter 'github_backfill_in' when calling IntegrationsApi.post_integrations_github_issues_backfill"
2203
+ end
2204
+ # resource path
2205
+ local_var_path = '/v1/integrations/github/issues/backfill'
2206
+
2207
+ # query parameters
2208
+ query_params = opts[:query_params] || {}
2209
+
2210
+ # header parameters
2211
+ header_params = opts[:header_params] || {}
2212
+ # HTTP header 'Accept' (if needed)
2213
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2214
+ # HTTP header 'Content-Type'
2215
+ content_type = @api_client.select_header_content_type(['application/json'])
2216
+ if !content_type.nil?
2217
+ header_params['Content-Type'] = content_type
2218
+ end
2219
+
2220
+ # form parameters
2221
+ form_params = opts[:form_params] || {}
2222
+
2223
+ # http body (model)
2224
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(github_backfill_in)
2225
+
2226
+ # return_type
2227
+ return_type = opts[:debug_return_type] || 'GithubBackfillResult'
2228
+
2229
+ # auth_names
2230
+ auth_names = opts[:debug_auth_names] || ['bearer']
2231
+
2232
+ new_options = opts.merge(
2233
+ :operation => :"IntegrationsApi.post_integrations_github_issues_backfill",
2234
+ :header_params => header_params,
2235
+ :query_params => query_params,
2236
+ :form_params => form_params,
2237
+ :body => post_body,
2238
+ :auth_names => auth_names,
2239
+ :return_type => return_type
2240
+ )
2241
+
2242
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2243
+ if @api_client.config.debugging
2244
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_github_issues_backfill\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2245
+ end
2246
+ return data, status_code, headers
2247
+ end
2248
+
2249
+ # Creates the repo's Pages site and answers 201 Created with it.
2250
+ # Creates the repo's Pages site and answers 201 Created with it. With buildType \"workflow\" the site builds via GitHub Actions; otherwise it builds from a branch source, defaulting to the repo's own default branch when none is given. Only \"/\" and \"/docs\" are legal source paths (GitHub's rule).
2251
+ # @param repo [String] Repo is the repository, from the :repo path segment.
2252
+ # @param github_pages_enable_req [GithubPagesEnableReq]
2253
+ # @param [Hash] opts the optional parameters
2254
+ # @return [GithubPagesView]
2255
+ def post_integrations_github_repos_by_repo_pages(repo, github_pages_enable_req, opts = {})
2256
+ data, _status_code, _headers = post_integrations_github_repos_by_repo_pages_with_http_info(repo, github_pages_enable_req, opts)
2257
+ data
2258
+ end
2259
+
2260
+ # Creates the repo&#39;s Pages site and answers 201 Created with it.
2261
+ # Creates the repo&#39;s Pages site and answers 201 Created with it. With buildType \&quot;workflow\&quot; the site builds via GitHub Actions; otherwise it builds from a branch source, defaulting to the repo&#39;s own default branch when none is given. Only \&quot;/\&quot; and \&quot;/docs\&quot; are legal source paths (GitHub&#39;s rule).
2262
+ # @param repo [String] Repo is the repository, from the :repo path segment.
2263
+ # @param github_pages_enable_req [GithubPagesEnableReq]
2264
+ # @param [Hash] opts the optional parameters
2265
+ # @return [Array<(GithubPagesView, Integer, Hash)>] GithubPagesView data, response status code and response headers
2266
+ def post_integrations_github_repos_by_repo_pages_with_http_info(repo, github_pages_enable_req, opts = {})
2267
+ if @api_client.config.debugging
2268
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_github_repos_by_repo_pages ...'
2269
+ end
2270
+ # verify the required parameter 'repo' is set
2271
+ if @api_client.config.client_side_validation && repo.nil?
2272
+ fail ArgumentError, "Missing the required parameter 'repo' when calling IntegrationsApi.post_integrations_github_repos_by_repo_pages"
2273
+ end
2274
+ # verify the required parameter 'github_pages_enable_req' is set
2275
+ if @api_client.config.client_side_validation && github_pages_enable_req.nil?
2276
+ fail ArgumentError, "Missing the required parameter 'github_pages_enable_req' when calling IntegrationsApi.post_integrations_github_repos_by_repo_pages"
2277
+ end
2278
+ # resource path
2279
+ local_var_path = '/v1/integrations/github/repos/{repo}/pages'.sub('{' + 'repo' + '}', CGI.escape(repo.to_s))
2280
+
2281
+ # query parameters
2282
+ query_params = opts[:query_params] || {}
2283
+
2284
+ # header parameters
2285
+ header_params = opts[:header_params] || {}
2286
+ # HTTP header 'Accept' (if needed)
2287
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2288
+ # HTTP header 'Content-Type'
2289
+ content_type = @api_client.select_header_content_type(['application/json'])
2290
+ if !content_type.nil?
2291
+ header_params['Content-Type'] = content_type
2292
+ end
2293
+
2294
+ # form parameters
2295
+ form_params = opts[:form_params] || {}
2296
+
2297
+ # http body (model)
2298
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(github_pages_enable_req)
2299
+
2300
+ # return_type
2301
+ return_type = opts[:debug_return_type] || 'GithubPagesView'
2302
+
2303
+ # auth_names
2304
+ auth_names = opts[:debug_auth_names] || ['bearer']
2305
+
2306
+ new_options = opts.merge(
2307
+ :operation => :"IntegrationsApi.post_integrations_github_repos_by_repo_pages",
2308
+ :header_params => header_params,
2309
+ :query_params => query_params,
2310
+ :form_params => form_params,
2311
+ :body => post_body,
2312
+ :auth_names => auth_names,
2313
+ :return_type => return_type
2314
+ )
2315
+
2316
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2317
+ if @api_client.config.debugging
2318
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_github_repos_by_repo_pages\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2319
+ end
2320
+ return data, status_code, headers
2321
+ end
2322
+
2323
+ # Requests a Pages rebuild and returns the queued build's status.
2324
+ # Requests a Pages rebuild and returns the queued build's status. The build is queued AT GITHUB, not completed here, so the answer is 202 Accepted and its status is the one GitHub reported at queue time. 404 when the repository has no Pages site, or when the org's installation was not granted it.
2325
+ # @param repo [String] Repo is the repository&#39;s short name within the org&#39;s installation, with no owner prefix (the owner is server-derived from the grant). A trailing \&quot;.git\&quot; is stripped.
2326
+ # @param [Hash] opts the optional parameters
2327
+ # @return [GithubPagesBuildOut]
2328
+ def post_integrations_github_repos_by_repo_pages_builds(repo, opts = {})
2329
+ data, _status_code, _headers = post_integrations_github_repos_by_repo_pages_builds_with_http_info(repo, opts)
2330
+ data
2331
+ end
2332
+
2333
+ # Requests a Pages rebuild and returns the queued build&#39;s status.
2334
+ # Requests a Pages rebuild and returns the queued build&#39;s status. The build is queued AT GITHUB, not completed here, so the answer is 202 Accepted and its status is the one GitHub reported at queue time. 404 when the repository has no Pages site, or when the org&#39;s installation was not granted it.
2335
+ # @param repo [String] Repo is the repository&#39;s short name within the org&#39;s installation, with no owner prefix (the owner is server-derived from the grant). A trailing \&quot;.git\&quot; is stripped.
2336
+ # @param [Hash] opts the optional parameters
2337
+ # @return [Array<(GithubPagesBuildOut, Integer, Hash)>] GithubPagesBuildOut data, response status code and response headers
2338
+ def post_integrations_github_repos_by_repo_pages_builds_with_http_info(repo, opts = {})
2339
+ if @api_client.config.debugging
2340
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_github_repos_by_repo_pages_builds ...'
2341
+ end
2342
+ # verify the required parameter 'repo' is set
2343
+ if @api_client.config.client_side_validation && repo.nil?
2344
+ fail ArgumentError, "Missing the required parameter 'repo' when calling IntegrationsApi.post_integrations_github_repos_by_repo_pages_builds"
2345
+ end
2346
+ # resource path
2347
+ local_var_path = '/v1/integrations/github/repos/{repo}/pages/builds'.sub('{' + 'repo' + '}', CGI.escape(repo.to_s))
2348
+
2349
+ # query parameters
2350
+ query_params = opts[:query_params] || {}
2351
+
2352
+ # header parameters
2353
+ header_params = opts[:header_params] || {}
2354
+ # HTTP header 'Accept' (if needed)
2355
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2356
+
2357
+ # form parameters
2358
+ form_params = opts[:form_params] || {}
2359
+
2360
+ # http body (model)
2361
+ post_body = opts[:debug_body]
2362
+
2363
+ # return_type
2364
+ return_type = opts[:debug_return_type] || 'GithubPagesBuildOut'
2365
+
2366
+ # auth_names
2367
+ auth_names = opts[:debug_auth_names] || ['bearer']
2368
+
2369
+ new_options = opts.merge(
2370
+ :operation => :"IntegrationsApi.post_integrations_github_repos_by_repo_pages_builds",
2371
+ :header_params => header_params,
2372
+ :query_params => query_params,
2373
+ :form_params => form_params,
2374
+ :body => post_body,
2375
+ :auth_names => auth_names,
2376
+ :return_type => return_type
2377
+ )
2378
+
2379
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2380
+ if @api_client.config.debugging
2381
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_github_repos_by_repo_pages_builds\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2382
+ end
2383
+ return data, status_code, headers
2384
+ end
2385
+
2386
+ # Imports the selected (or all) granted repos into git.hanzo.ai.
2387
+ # Imports the selected (or all) granted repos into git.hanzo.ai. The selection is intersected with the installation's GRANTED set, so a client can never import a repo the App was not granted (org isolation + a grant check). The import runs in a bounded background worker (don't block the request), so the answer is 202 Accepted; poll GET /v1/integrations/github/repos for the per-repo status to flip to imported.
2388
+ # @param github_import_in [GithubImportIn]
2389
+ # @param [Hash] opts the optional parameters
2390
+ # @return [GithubImportOut]
2391
+ def post_integrations_github_repos_import(github_import_in, opts = {})
2392
+ data, _status_code, _headers = post_integrations_github_repos_import_with_http_info(github_import_in, opts)
2393
+ data
2394
+ end
2395
+
2396
+ # Imports the selected (or all) granted repos into git.hanzo.ai.
2397
+ # Imports the selected (or all) granted repos into git.hanzo.ai. The selection is intersected with the installation&#39;s GRANTED set, so a client can never import a repo the App was not granted (org isolation + a grant check). The import runs in a bounded background worker (don&#39;t block the request), so the answer is 202 Accepted; poll GET /v1/integrations/github/repos for the per-repo status to flip to imported.
2398
+ # @param github_import_in [GithubImportIn]
2399
+ # @param [Hash] opts the optional parameters
2400
+ # @return [Array<(GithubImportOut, Integer, Hash)>] GithubImportOut data, response status code and response headers
2401
+ def post_integrations_github_repos_import_with_http_info(github_import_in, opts = {})
2402
+ if @api_client.config.debugging
2403
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_github_repos_import ...'
2404
+ end
2405
+ # verify the required parameter 'github_import_in' is set
2406
+ if @api_client.config.client_side_validation && github_import_in.nil?
2407
+ fail ArgumentError, "Missing the required parameter 'github_import_in' when calling IntegrationsApi.post_integrations_github_repos_import"
2408
+ end
2409
+ # resource path
2410
+ local_var_path = '/v1/integrations/github/repos/import'
2411
+
2412
+ # query parameters
2413
+ query_params = opts[:query_params] || {}
2414
+
2415
+ # header parameters
2416
+ header_params = opts[:header_params] || {}
2417
+ # HTTP header 'Accept' (if needed)
2418
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2419
+ # HTTP header 'Content-Type'
2420
+ content_type = @api_client.select_header_content_type(['application/json'])
2421
+ if !content_type.nil?
2422
+ header_params['Content-Type'] = content_type
2423
+ end
2424
+
2425
+ # form parameters
2426
+ form_params = opts[:form_params] || {}
2427
+
2428
+ # http body (model)
2429
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(github_import_in)
2430
+
2431
+ # return_type
2432
+ return_type = opts[:debug_return_type] || 'GithubImportOut'
2433
+
2434
+ # auth_names
2435
+ auth_names = opts[:debug_auth_names] || ['bearer']
2436
+
2437
+ new_options = opts.merge(
2438
+ :operation => :"IntegrationsApi.post_integrations_github_repos_import",
2439
+ :header_params => header_params,
2440
+ :query_params => query_params,
2441
+ :form_params => form_params,
2442
+ :body => post_body,
2443
+ :auth_names => auth_names,
2444
+ :return_type => return_type
2445
+ )
2446
+
2447
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2448
+ if @api_client.config.debugging
2449
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_github_repos_import\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2450
+ end
2451
+ return data, status_code, headers
2452
+ end
2453
+
2454
+ # Finds repositories on GitHub.
2455
+ # Finds repositories on GitHub. This reads the PUBLIC index and returns nothing an installation unlocks: it is how you find a repository to fork, not a way to see inside one. The org's own token is used only so the query is rate-limited against the installation rather than anonymously — the results are the same ones anyone would get.
2456
+ # @param github_search_req [GithubSearchReq]
2457
+ # @param [Hash] opts the optional parameters
2458
+ # @return [GithubSearchOut]
2459
+ def post_integrations_github_search(github_search_req, opts = {})
2460
+ data, _status_code, _headers = post_integrations_github_search_with_http_info(github_search_req, opts)
2461
+ data
2462
+ end
2463
+
2464
+ # Finds repositories on GitHub.
2465
+ # Finds repositories on GitHub. This reads the PUBLIC index and returns nothing an installation unlocks: it is how you find a repository to fork, not a way to see inside one. The org&#39;s own token is used only so the query is rate-limited against the installation rather than anonymously — the results are the same ones anyone would get.
2466
+ # @param github_search_req [GithubSearchReq]
2467
+ # @param [Hash] opts the optional parameters
2468
+ # @return [Array<(GithubSearchOut, Integer, Hash)>] GithubSearchOut data, response status code and response headers
2469
+ def post_integrations_github_search_with_http_info(github_search_req, opts = {})
2470
+ if @api_client.config.debugging
2471
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_github_search ...'
2472
+ end
2473
+ # verify the required parameter 'github_search_req' is set
2474
+ if @api_client.config.client_side_validation && github_search_req.nil?
2475
+ fail ArgumentError, "Missing the required parameter 'github_search_req' when calling IntegrationsApi.post_integrations_github_search"
2476
+ end
2477
+ # resource path
2478
+ local_var_path = '/v1/integrations/github/search'
2479
+
2480
+ # query parameters
2481
+ query_params = opts[:query_params] || {}
2482
+
2483
+ # header parameters
2484
+ header_params = opts[:header_params] || {}
2485
+ # HTTP header 'Accept' (if needed)
2486
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2487
+ # HTTP header 'Content-Type'
2488
+ content_type = @api_client.select_header_content_type(['application/json'])
2489
+ if !content_type.nil?
2490
+ header_params['Content-Type'] = content_type
2491
+ end
2492
+
2493
+ # form parameters
2494
+ form_params = opts[:form_params] || {}
2495
+
2496
+ # http body (model)
2497
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(github_search_req)
2498
+
2499
+ # return_type
2500
+ return_type = opts[:debug_return_type] || 'GithubSearchOut'
2501
+
2502
+ # auth_names
2503
+ auth_names = opts[:debug_auth_names] || ['bearer']
2504
+
2505
+ new_options = opts.merge(
2506
+ :operation => :"IntegrationsApi.post_integrations_github_search",
2507
+ :header_params => header_params,
2508
+ :query_params => query_params,
2509
+ :form_params => form_params,
2510
+ :body => post_body,
2511
+ :auth_names => auth_names,
2512
+ :return_type => return_type
2513
+ )
2514
+
2515
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2516
+ if @api_client.config.debugging
2517
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_github_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2518
+ end
2519
+ return data, status_code, headers
2520
+ end
2521
+
2522
+ # GitHub App webhook
2523
+ # The address the GitHub App delivers events to. A push is handed to the repository sync engine, and an issue or issue-comment event is mirrored into the native todo — idempotently, so the same issue re-syncs to one row however many times it is edited, closed or reopened. A repository event that puts a repo INTO the granted set (created, transferred, unarchived) raises one todo offering to import it; accepting means POSTing that repo to /v1/integrations/github/import. It never imports on its own. It answers a benign 200 for everything it does not act on — the ping, other event types, an unknown installation — deliberately, so GitHub does not enter a retry storm over events that were never going to do anything. Only a bad signature and a genuine sync failure are non-200, and an oversized payload is refused outright. Two sync rules are worth stating because neither is guessable. EVERY ref syncs, tags as well as branches, because releases are cut by tag and filtering them would stop publishing with nothing reporting a failure. And a delete is NEVER propagated: the native side is canonical, so an inbound delete never removes a native ref. The payload is verified by HMAC against the webhook secret before it is parsed. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400.
2524
+ # @param [Hash] opts the optional parameters
2525
+ # @return [nil]
2526
+ def post_integrations_github_webhook(opts = {})
2527
+ post_integrations_github_webhook_with_http_info(opts)
2528
+ nil
2529
+ end
2530
+
2531
+ # GitHub App webhook
2532
+ # The address the GitHub App delivers events to. A push is handed to the repository sync engine, and an issue or issue-comment event is mirrored into the native todo — idempotently, so the same issue re-syncs to one row however many times it is edited, closed or reopened. A repository event that puts a repo INTO the granted set (created, transferred, unarchived) raises one todo offering to import it; accepting means POSTing that repo to /v1/integrations/github/import. It never imports on its own. It answers a benign 200 for everything it does not act on — the ping, other event types, an unknown installation — deliberately, so GitHub does not enter a retry storm over events that were never going to do anything. Only a bad signature and a genuine sync failure are non-200, and an oversized payload is refused outright. Two sync rules are worth stating because neither is guessable. EVERY ref syncs, tags as well as branches, because releases are cut by tag and filtering them would stop publishing with nothing reporting a failure. And a delete is NEVER propagated: the native side is canonical, so an inbound delete never removes a native ref. The payload is verified by HMAC against the webhook secret before it is parsed. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400.
2533
+ # @param [Hash] opts the optional parameters
2534
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2535
+ def post_integrations_github_webhook_with_http_info(opts = {})
2536
+ if @api_client.config.debugging
2537
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_github_webhook ...'
2538
+ end
2539
+ # resource path
2540
+ local_var_path = '/v1/integrations/github/webhook'
2541
+
2542
+ # query parameters
2543
+ query_params = opts[:query_params] || {}
2544
+
2545
+ # header parameters
2546
+ header_params = opts[:header_params] || {}
2547
+
2548
+ # form parameters
2549
+ form_params = opts[:form_params] || {}
2550
+
2551
+ # http body (model)
2552
+ post_body = opts[:debug_body]
2553
+
2554
+ # return_type
2555
+ return_type = opts[:debug_return_type]
2556
+
2557
+ # auth_names
2558
+ auth_names = opts[:debug_auth_names] || ['bearer']
2559
+
2560
+ new_options = opts.merge(
2561
+ :operation => :"IntegrationsApi.post_integrations_github_webhook",
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#post_integrations_github_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2573
+ end
2574
+ return data, status_code, headers
2575
+ end
2576
+
2577
+ # Receive OpenRouter Broadcast traces as usage rows
2578
+ # OpenRouter's spend is invisible to every Hanzo money lens because those lenses read hanzo.cloud_usage and OpenRouter meters keys of its own. Point a Broadcast destination (Settings ▸ Observability ▸ Webhook) at this endpoint and each generation span becomes ONE row in that same ledger with provider `openrouter`, so one query answers what we spend everywhere. Enable the Cost and Identity field categories: cost is the money and identity carries `openrouter.api_key_name`, which is what says WHICH key spent it — it lands in `account` as openrouter/<key name>. AUTHENTICATION IS A HANZO KEY. Broadcast signs nothing; its only authentication is the destination's Headers map, so send a key as `Authorization: Bearer pk-…` and it is admitted exactly as /v1/event admits a beacon's: a project key resolves through the project that minted it, an IAM-issued key through IAM. That key names the org every row is filed under; it can write and cannot read. No key, or a key that names no org, is 401 and nothing is stored. The body is OTLP/JSON — `{resourceSpans:[{scopeSpans:[{spans:[…]}]}]}` — exactly as OpenTelemetry defines it; the model, tokens and cost are read from each span's `gen_ai.*` attributes and the key name from `openrouter.api_key_name`. The answer is `{stored, dropped}`: how many generations became rows, and how many spans named no model. Those are OpenRouter's trace and span parents — they carry no cost to meter. An empty payload stores nothing and answers 200, which is what makes Test Connection pass. A warehouse that cannot take the rows answers 503 so the delivery shows red and can be replayed: a row is keyed by its span id, so a redelivery collapses rather than double-counting.
2579
+ # @param [Hash] opts the optional parameters
2580
+ # @option opts [Hash<String, Object>] :request_body
2581
+ # @return [Hash<String, Object>]
2582
+ def post_integrations_openrouter_webhook(opts = {})
2583
+ data, _status_code, _headers = post_integrations_openrouter_webhook_with_http_info(opts)
2584
+ data
2585
+ end
2586
+
2587
+ # Receive OpenRouter Broadcast traces as usage rows
2588
+ # OpenRouter&#39;s spend is invisible to every Hanzo money lens because those lenses read hanzo.cloud_usage and OpenRouter meters keys of its own. Point a Broadcast destination (Settings ▸ Observability ▸ Webhook) at this endpoint and each generation span becomes ONE row in that same ledger with provider &#x60;openrouter&#x60;, so one query answers what we spend everywhere. Enable the Cost and Identity field categories: cost is the money and identity carries &#x60;openrouter.api_key_name&#x60;, which is what says WHICH key spent it — it lands in &#x60;account&#x60; as openrouter/&lt;key name&gt;. AUTHENTICATION IS A HANZO KEY. Broadcast signs nothing; its only authentication is the destination&#39;s Headers map, so send a key as &#x60;Authorization: Bearer pk-…&#x60; and it is admitted exactly as /v1/event admits a beacon&#39;s: a project key resolves through the project that minted it, an IAM-issued key through IAM. That key names the org every row is filed under; it can write and cannot read. No key, or a key that names no org, is 401 and nothing is stored. The body is OTLP/JSON — &#x60;{resourceSpans:[{scopeSpans:[{spans:[…]}]}]}&#x60; — exactly as OpenTelemetry defines it; the model, tokens and cost are read from each span&#39;s &#x60;gen_ai.*&#x60; attributes and the key name from &#x60;openrouter.api_key_name&#x60;. The answer is &#x60;{stored, dropped}&#x60;: how many generations became rows, and how many spans named no model. Those are OpenRouter&#39;s trace and span parents — they carry no cost to meter. An empty payload stores nothing and answers 200, which is what makes Test Connection pass. A warehouse that cannot take the rows answers 503 so the delivery shows red and can be replayed: a row is keyed by its span id, so a redelivery collapses rather than double-counting.
2589
+ # @param [Hash] opts the optional parameters
2590
+ # @option opts [Hash<String, Object>] :request_body
2591
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
2592
+ def post_integrations_openrouter_webhook_with_http_info(opts = {})
2593
+ if @api_client.config.debugging
2594
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_openrouter_webhook ...'
2595
+ end
2596
+ # resource path
2597
+ local_var_path = '/v1/integrations/openrouter/webhook'
2598
+
2599
+ # query parameters
2600
+ query_params = opts[:query_params] || {}
2601
+
2602
+ # header parameters
2603
+ header_params = opts[:header_params] || {}
2604
+ # HTTP header 'Accept' (if needed)
2605
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2606
+ # HTTP header 'Content-Type'
2607
+ content_type = @api_client.select_header_content_type(['application/json'])
2608
+ if !content_type.nil?
2609
+ header_params['Content-Type'] = content_type
2610
+ end
2611
+
2612
+ # form parameters
2613
+ form_params = opts[:form_params] || {}
2614
+
2615
+ # http body (model)
2616
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'request_body'])
2617
+
2618
+ # return_type
2619
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
2620
+
2621
+ # auth_names
2622
+ auth_names = opts[:debug_auth_names] || ['bearer']
2623
+
2624
+ new_options = opts.merge(
2625
+ :operation => :"IntegrationsApi.post_integrations_openrouter_webhook",
2626
+ :header_params => header_params,
2627
+ :query_params => query_params,
2628
+ :form_params => form_params,
2629
+ :body => post_body,
2630
+ :auth_names => auth_names,
2631
+ :return_type => return_type
2632
+ )
2633
+
2634
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2635
+ if @api_client.config.debugging
2636
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_openrouter_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2637
+ end
2638
+ return data, status_code, headers
2639
+ end
2640
+
2641
+ # Slack slash command webhook
2642
+ # The address Slack posts a slash command to, form-encoded. It acknowledges inside Slack's three-second budget and posts the answer afterwards to the command's own response URL, which is why the immediate reply is empty. The body is verified against the same app signing secret as the events webhook, and a repeat of the same command invocation is absorbed rather than answered twice. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400. The answer is acknowledged immediately and the work happens afterwards, because every one of these platforms times out a slow webhook. Duplicate deliveries are absorbed durably, so a platform retry of an event that already ran never runs it a second time or bills for it twice. When the agent pool is full nothing at all is recorded and the delivery is refused as retriable, so the message is re-delivered later rather than being lost or half-processed.
2643
+ # @param [Hash] opts the optional parameters
2644
+ # @return [nil]
2645
+ def post_integrations_slack_commands(opts = {})
2646
+ post_integrations_slack_commands_with_http_info(opts)
2647
+ nil
2648
+ end
2649
+
2650
+ # Slack slash command webhook
2651
+ # The address Slack posts a slash command to, form-encoded. It acknowledges inside Slack&#39;s three-second budget and posts the answer afterwards to the command&#39;s own response URL, which is why the immediate reply is empty. The body is verified against the same app signing secret as the events webhook, and a repeat of the same command invocation is absorbed rather than answered twice. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400. The answer is acknowledged immediately and the work happens afterwards, because every one of these platforms times out a slow webhook. Duplicate deliveries are absorbed durably, so a platform retry of an event that already ran never runs it a second time or bills for it twice. When the agent pool is full nothing at all is recorded and the delivery is refused as retriable, so the message is re-delivered later rather than being lost or half-processed.
2652
+ # @param [Hash] opts the optional parameters
2653
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2654
+ def post_integrations_slack_commands_with_http_info(opts = {})
2655
+ if @api_client.config.debugging
2656
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_slack_commands ...'
2657
+ end
2658
+ # resource path
2659
+ local_var_path = '/v1/integrations/slack/commands'
2660
+
2661
+ # query parameters
2662
+ query_params = opts[:query_params] || {}
2663
+
2664
+ # header parameters
2665
+ header_params = opts[:header_params] || {}
2666
+
2667
+ # form parameters
2668
+ form_params = opts[:form_params] || {}
2669
+
2670
+ # http body (model)
2671
+ post_body = opts[:debug_body]
2672
+
2673
+ # return_type
2674
+ return_type = opts[:debug_return_type]
2675
+
2676
+ # auth_names
2677
+ auth_names = opts[:debug_auth_names] || ['bearer']
2678
+
2679
+ new_options = opts.merge(
2680
+ :operation => :"IntegrationsApi.post_integrations_slack_commands",
2681
+ :header_params => header_params,
2682
+ :query_params => query_params,
2683
+ :form_params => form_params,
2684
+ :body => post_body,
2685
+ :auth_names => auth_names,
2686
+ :return_type => return_type
2687
+ )
2688
+
2689
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2690
+ if @api_client.config.debugging
2691
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_slack_commands\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2692
+ end
2693
+ return data, status_code, headers
2694
+ end
2695
+
2696
+ # Slack Events API webhook
2697
+ # The address a Slack app posts workspace events to. It answers Slack's url_verification handshake with the challenge, and routes an @mention or a direct message to an agent turn that replies in the same thread. The turn holds the product's own tools, so a request to change code starts a sandbox run because the model chose to — there is no prefix and no second path. The raw body and its timestamp are verified against the app's signing secret before anything is read from them. Hanzo's own bot messages are dropped, so a reply cannot trigger another reply. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400. The answer is acknowledged immediately and the work happens afterwards, because every one of these platforms times out a slow webhook. Duplicate deliveries are absorbed durably, so a platform retry of an event that already ran never runs it a second time or bills for it twice. When the agent pool is full nothing at all is recorded and the delivery is refused as retriable, so the message is re-delivered later rather than being lost or half-processed.
2698
+ # @param [Hash] opts the optional parameters
2699
+ # @return [nil]
2700
+ def post_integrations_slack_events(opts = {})
2701
+ post_integrations_slack_events_with_http_info(opts)
2702
+ nil
2703
+ end
2704
+
2705
+ # Slack Events API webhook
2706
+ # The address a Slack app posts workspace events to. It answers Slack&#39;s url_verification handshake with the challenge, and routes an @mention or a direct message to an agent turn that replies in the same thread. The turn holds the product&#39;s own tools, so a request to change code starts a sandbox run because the model chose to — there is no prefix and no second path. The raw body and its timestamp are verified against the app&#39;s signing secret before anything is read from them. Hanzo&#39;s own bot messages are dropped, so a reply cannot trigger another reply. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400. The answer is acknowledged immediately and the work happens afterwards, because every one of these platforms times out a slow webhook. Duplicate deliveries are absorbed durably, so a platform retry of an event that already ran never runs it a second time or bills for it twice. When the agent pool is full nothing at all is recorded and the delivery is refused as retriable, so the message is re-delivered later rather than being lost or half-processed.
2707
+ # @param [Hash] opts the optional parameters
2708
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2709
+ def post_integrations_slack_events_with_http_info(opts = {})
2710
+ if @api_client.config.debugging
2711
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_slack_events ...'
2712
+ end
2713
+ # resource path
2714
+ local_var_path = '/v1/integrations/slack/events'
2715
+
2716
+ # query parameters
2717
+ query_params = opts[:query_params] || {}
2718
+
2719
+ # header parameters
2720
+ header_params = opts[:header_params] || {}
2721
+
2722
+ # form parameters
2723
+ form_params = opts[:form_params] || {}
2724
+
2725
+ # http body (model)
2726
+ post_body = opts[:debug_body]
2727
+
2728
+ # return_type
2729
+ return_type = opts[:debug_return_type]
2730
+
2731
+ # auth_names
2732
+ auth_names = opts[:debug_auth_names] || ['bearer']
2733
+
2734
+ new_options = opts.merge(
2735
+ :operation => :"IntegrationsApi.post_integrations_slack_events",
2736
+ :header_params => header_params,
2737
+ :query_params => query_params,
2738
+ :form_params => form_params,
2739
+ :body => post_body,
2740
+ :auth_names => auth_names,
2741
+ :return_type => return_type
2742
+ )
2743
+
2744
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2745
+ if @api_client.config.debugging
2746
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_slack_events\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2747
+ end
2748
+ return data, status_code, headers
2749
+ end
2750
+
2751
+ # Microsoft Teams Bot Framework webhook
2752
+ # The messaging endpoint for the Teams bot. A message activity is routed to an agent turn and answered proactively through the Bot Connection; anything that is not a message with text is acknowledged and ignored. Authentication is the Bot Framework's RS256 JWT, verified against its published keys and bound BOTH to this deployment's app id and to the activity's own service URL. The service-URL binding is the part that matters: without it a token valid for one activity could point the outbound reply somewhere else. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400. The answer is acknowledged immediately and the work happens afterwards, because every one of these platforms times out a slow webhook. Duplicate deliveries are absorbed durably, so a platform retry of an event that already ran never runs it a second time or bills for it twice. When the agent pool is full nothing at all is recorded and the delivery is refused as retriable, so the message is re-delivered later rather than being lost or half-processed.
2753
+ # @param [Hash] opts the optional parameters
2754
+ # @return [nil]
2755
+ def post_integrations_teams_events(opts = {})
2756
+ post_integrations_teams_events_with_http_info(opts)
2757
+ nil
2758
+ end
2759
+
2760
+ # Microsoft Teams Bot Framework webhook
2761
+ # The messaging endpoint for the Teams bot. A message activity is routed to an agent turn and answered proactively through the Bot Connection; anything that is not a message with text is acknowledged and ignored. Authentication is the Bot Framework&#39;s RS256 JWT, verified against its published keys and bound BOTH to this deployment&#39;s app id and to the activity&#39;s own service URL. The service-URL binding is the part that matters: without it a token valid for one activity could point the outbound reply somewhere else. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400. The answer is acknowledged immediately and the work happens afterwards, because every one of these platforms times out a slow webhook. Duplicate deliveries are absorbed durably, so a platform retry of an event that already ran never runs it a second time or bills for it twice. When the agent pool is full nothing at all is recorded and the delivery is refused as retriable, so the message is re-delivered later rather than being lost or half-processed.
2762
+ # @param [Hash] opts the optional parameters
2763
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2764
+ def post_integrations_teams_events_with_http_info(opts = {})
2765
+ if @api_client.config.debugging
2766
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_teams_events ...'
2767
+ end
2768
+ # resource path
2769
+ local_var_path = '/v1/integrations/teams/events'
2770
+
2771
+ # query parameters
2772
+ query_params = opts[:query_params] || {}
2773
+
2774
+ # header parameters
2775
+ header_params = opts[:header_params] || {}
2776
+
2777
+ # form parameters
2778
+ form_params = opts[:form_params] || {}
2779
+
2780
+ # http body (model)
2781
+ post_body = opts[:debug_body]
2782
+
2783
+ # return_type
2784
+ return_type = opts[:debug_return_type]
2785
+
2786
+ # auth_names
2787
+ auth_names = opts[:debug_auth_names] || ['bearer']
2788
+
2789
+ new_options = opts.merge(
2790
+ :operation => :"IntegrationsApi.post_integrations_teams_events",
2791
+ :header_params => header_params,
2792
+ :query_params => query_params,
2793
+ :form_params => form_params,
2794
+ :body => post_body,
2795
+ :auth_names => auth_names,
2796
+ :return_type => return_type
2797
+ )
2798
+
2799
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2800
+ if @api_client.config.debugging
2801
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_teams_events\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2802
+ end
2803
+ return data, status_code, headers
2804
+ end
2805
+
2806
+ # Mints a short, single-use deep-link code bound to the caller's org and returns the t.me link the console navigates to.
2807
+ # Mints a short, single-use deep-link code bound to the caller's org and returns the t.me link the console navigates to. Org-authed: a caller with no validated principal is 403 (same gate as the framework connect). The code is stored as an oauth_nonce (org,telegram); the webhook's /start handler claims it to bind chat→org. It is short (128-bit hex) so it fits Telegram's 64-char `start` payload limit.
2808
+ # @param [Hash] opts the optional parameters
2809
+ # @return [AuthorizeOut]
2810
+ def post_integrations_telegram_connect(opts = {})
2811
+ data, _status_code, _headers = post_integrations_telegram_connect_with_http_info(opts)
2812
+ data
2813
+ end
2814
+
2815
+ # Mints a short, single-use deep-link code bound to the caller&#39;s org and returns the t.me link the console navigates to.
2816
+ # Mints a short, single-use deep-link code bound to the caller&#39;s org and returns the t.me link the console navigates to. Org-authed: a caller with no validated principal is 403 (same gate as the framework connect). The code is stored as an oauth_nonce (org,telegram); the webhook&#39;s /start handler claims it to bind chat→org. It is short (128-bit hex) so it fits Telegram&#39;s 64-char &#x60;start&#x60; payload limit.
2817
+ # @param [Hash] opts the optional parameters
2818
+ # @return [Array<(AuthorizeOut, Integer, Hash)>] AuthorizeOut data, response status code and response headers
2819
+ def post_integrations_telegram_connect_with_http_info(opts = {})
2820
+ if @api_client.config.debugging
2821
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_telegram_connect ...'
2822
+ end
2823
+ # resource path
2824
+ local_var_path = '/v1/integrations/telegram/connect'
2825
+
2826
+ # query parameters
2827
+ query_params = opts[:query_params] || {}
2828
+
2829
+ # header parameters
2830
+ header_params = opts[:header_params] || {}
2831
+ # HTTP header 'Accept' (if needed)
2832
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2833
+
2834
+ # form parameters
2835
+ form_params = opts[:form_params] || {}
2836
+
2837
+ # http body (model)
2838
+ post_body = opts[:debug_body]
2839
+
2840
+ # return_type
2841
+ return_type = opts[:debug_return_type] || 'AuthorizeOut'
2842
+
2843
+ # auth_names
2844
+ auth_names = opts[:debug_auth_names] || ['bearer']
2845
+
2846
+ new_options = opts.merge(
2847
+ :operation => :"IntegrationsApi.post_integrations_telegram_connect",
2848
+ :header_params => header_params,
2849
+ :query_params => query_params,
2850
+ :form_params => form_params,
2851
+ :body => post_body,
2852
+ :auth_names => auth_names,
2853
+ :return_type => return_type
2854
+ )
2855
+
2856
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2857
+ if @api_client.config.debugging
2858
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_telegram_connect\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2859
+ end
2860
+ return data, status_code, headers
2861
+ end
2862
+
2863
+ # Telegram Bot API webhook
2864
+ # The update webhook for the Telegram bot. It does two jobs: `/start <code>` or `/connect <code>` binds the chat it was sent from to an org, idempotently; anything else is treated as a possible agent trigger. What counts as a trigger differs by chat type, and it is easy to get wrong: in a private chat every message is a trigger, while in a group the message must mention the bot or use the `/hanzo` command. Non-triggers and non-message updates are acknowledged and dropped. Authentication is the secret token Telegram echoes on every update, compared in constant time. A message in a chat that has never been bound is dropped, which is why the bind command exists. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400. The answer is acknowledged immediately and the work happens afterwards, because every one of these platforms times out a slow webhook. Duplicate deliveries are absorbed durably, so a platform retry of an event that already ran never runs it a second time or bills for it twice. When the agent pool is full nothing at all is recorded and the delivery is refused as retriable, so the message is re-delivered later rather than being lost or half-processed.
2865
+ # @param [Hash] opts the optional parameters
2866
+ # @return [nil]
2867
+ def post_integrations_telegram_webhook(opts = {})
2868
+ post_integrations_telegram_webhook_with_http_info(opts)
2869
+ nil
2870
+ end
2871
+
2872
+ # Telegram Bot API webhook
2873
+ # The update webhook for the Telegram bot. It does two jobs: &#x60;/start &lt;code&gt;&#x60; or &#x60;/connect &lt;code&gt;&#x60; binds the chat it was sent from to an org, idempotently; anything else is treated as a possible agent trigger. What counts as a trigger differs by chat type, and it is easy to get wrong: in a private chat every message is a trigger, while in a group the message must mention the bot or use the &#x60;/hanzo&#x60; command. Non-triggers and non-message updates are acknowledged and dropped. Authentication is the secret token Telegram echoes on every update, compared in constant time. A message in a chat that has never been bound is dropped, which is why the bind command exists. The caller here is the PLATFORM, not a Hanzo tenant, so there is no bearer and no principal. The signature check IS the authentication, and it fails closed. The tenant is never read from the payload either: it is resolved from the verified platform identifier through the connection map, so an event from a workspace nobody connected does nothing. Refusals are written with their own status rather than being flattened to a 500, so a rejected signature reads as 401 and a malformed body as 400. The answer is acknowledged immediately and the work happens afterwards, because every one of these platforms times out a slow webhook. Duplicate deliveries are absorbed durably, so a platform retry of an event that already ran never runs it a second time or bills for it twice. When the agent pool is full nothing at all is recorded and the delivery is refused as retriable, so the message is re-delivered later rather than being lost or half-processed.
2874
+ # @param [Hash] opts the optional parameters
2875
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2876
+ def post_integrations_telegram_webhook_with_http_info(opts = {})
2877
+ if @api_client.config.debugging
2878
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_telegram_webhook ...'
2879
+ end
2880
+ # resource path
2881
+ local_var_path = '/v1/integrations/telegram/webhook'
2882
+
2883
+ # query parameters
2884
+ query_params = opts[:query_params] || {}
2885
+
2886
+ # header parameters
2887
+ header_params = opts[:header_params] || {}
2888
+
2889
+ # form parameters
2890
+ form_params = opts[:form_params] || {}
2891
+
2892
+ # http body (model)
2893
+ post_body = opts[:debug_body]
2894
+
2895
+ # return_type
2896
+ return_type = opts[:debug_return_type]
2897
+
2898
+ # auth_names
2899
+ auth_names = opts[:debug_auth_names] || ['bearer']
2900
+
2901
+ new_options = opts.merge(
2902
+ :operation => :"IntegrationsApi.post_integrations_telegram_webhook",
2903
+ :header_params => header_params,
2904
+ :query_params => query_params,
2905
+ :form_params => form_params,
2906
+ :body => post_body,
2907
+ :auth_names => auth_names,
2908
+ :return_type => return_type
2909
+ )
2910
+
2911
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2912
+ if @api_client.config.debugging
2913
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_telegram_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2914
+ end
2915
+ return data, status_code, headers
2916
+ end
2917
+
2918
+ # WhatsApp Cloud API webhook
2919
+ # One delivery from Meta. Authenticity is the X-Hub-Signature-256 HMAC over the raw body, and it is the whole of it: a message accepted here creates the reply route that authorises this org to answer, so an unsigned delivery would let anyone hand an org a conversation to answer under its own number. Meta batches (entry × changes × messages) and sends status callbacks — sent/delivered/read — through this same address with no message at all. Those are acknowledged and dropped rather than refused, because a non-2xx is retried with backoff and eventually disables the subscription: the only refusals here are an unconfigured endpoint and a bad signature, which are ours to fix and not Meta's to retry. The answer is acknowledged immediately and the work happens afterwards, because every one of these platforms times out a slow webhook. Duplicate deliveries are absorbed durably, so a platform retry of an event that already ran never runs it a second time or bills for it twice. When the agent pool is full nothing at all is recorded and the delivery is refused as retriable, so the message is re-delivered later rather than being lost or half-processed.
2920
+ # @param [Hash] opts the optional parameters
2921
+ # @return [nil]
2922
+ def post_integrations_whatsapp_webhook(opts = {})
2923
+ post_integrations_whatsapp_webhook_with_http_info(opts)
2924
+ nil
2925
+ end
2926
+
2927
+ # WhatsApp Cloud API webhook
2928
+ # One delivery from Meta. Authenticity is the X-Hub-Signature-256 HMAC over the raw body, and it is the whole of it: a message accepted here creates the reply route that authorises this org to answer, so an unsigned delivery would let anyone hand an org a conversation to answer under its own number. Meta batches (entry × changes × messages) and sends status callbacks — sent/delivered/read — through this same address with no message at all. Those are acknowledged and dropped rather than refused, because a non-2xx is retried with backoff and eventually disables the subscription: the only refusals here are an unconfigured endpoint and a bad signature, which are ours to fix and not Meta&#39;s to retry. The answer is acknowledged immediately and the work happens afterwards, because every one of these platforms times out a slow webhook. Duplicate deliveries are absorbed durably, so a platform retry of an event that already ran never runs it a second time or bills for it twice. When the agent pool is full nothing at all is recorded and the delivery is refused as retriable, so the message is re-delivered later rather than being lost or half-processed.
2929
+ # @param [Hash] opts the optional parameters
2930
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2931
+ def post_integrations_whatsapp_webhook_with_http_info(opts = {})
2932
+ if @api_client.config.debugging
2933
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.post_integrations_whatsapp_webhook ...'
2934
+ end
2935
+ # resource path
2936
+ local_var_path = '/v1/integrations/whatsapp/webhook'
2937
+
2938
+ # query parameters
2939
+ query_params = opts[:query_params] || {}
2940
+
2941
+ # header parameters
2942
+ header_params = opts[:header_params] || {}
2943
+
2944
+ # form parameters
2945
+ form_params = opts[:form_params] || {}
2946
+
2947
+ # http body (model)
2948
+ post_body = opts[:debug_body]
2949
+
2950
+ # return_type
2951
+ return_type = opts[:debug_return_type]
2952
+
2953
+ # auth_names
2954
+ auth_names = opts[:debug_auth_names] || ['bearer']
2955
+
2956
+ new_options = opts.merge(
2957
+ :operation => :"IntegrationsApi.post_integrations_whatsapp_webhook",
2958
+ :header_params => header_params,
2959
+ :query_params => query_params,
2960
+ :form_params => form_params,
2961
+ :body => post_body,
2962
+ :auth_names => auth_names,
2963
+ :return_type => return_type
2964
+ )
2965
+
2966
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2967
+ if @api_client.config.debugging
2968
+ @api_client.config.logger.debug "API called: IntegrationsApi#post_integrations_whatsapp_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2969
+ end
2970
+ return data, status_code, headers
2971
+ end
2972
+
2973
+ # Sets or clears the custom domain (cname) and updates HTTPS enforcement, build type, or source.
2974
+ # Sets or clears the custom domain (cname) and updates HTTPS enforcement, build type, or source. ONLY the provided fields are sent to GitHub, so an update never resets a setting the caller did not mention.
2975
+ # @param repo [String] Repo is the repository, from the :repo path segment.
2976
+ # @param github_pages_update_req [GithubPagesUpdateReq]
2977
+ # @param [Hash] opts the optional parameters
2978
+ # @return [GithubPagesUpdatedOut]
2979
+ def put_integrations_github_repos_by_repo_pages(repo, github_pages_update_req, opts = {})
2980
+ data, _status_code, _headers = put_integrations_github_repos_by_repo_pages_with_http_info(repo, github_pages_update_req, opts)
2981
+ data
2982
+ end
2983
+
2984
+ # Sets or clears the custom domain (cname) and updates HTTPS enforcement, build type, or source.
2985
+ # Sets or clears the custom domain (cname) and updates HTTPS enforcement, build type, or source. ONLY the provided fields are sent to GitHub, so an update never resets a setting the caller did not mention.
2986
+ # @param repo [String] Repo is the repository, from the :repo path segment.
2987
+ # @param github_pages_update_req [GithubPagesUpdateReq]
2988
+ # @param [Hash] opts the optional parameters
2989
+ # @return [Array<(GithubPagesUpdatedOut, Integer, Hash)>] GithubPagesUpdatedOut data, response status code and response headers
2990
+ def put_integrations_github_repos_by_repo_pages_with_http_info(repo, github_pages_update_req, opts = {})
2991
+ if @api_client.config.debugging
2992
+ @api_client.config.logger.debug 'Calling API: IntegrationsApi.put_integrations_github_repos_by_repo_pages ...'
2993
+ end
2994
+ # verify the required parameter 'repo' is set
2995
+ if @api_client.config.client_side_validation && repo.nil?
2996
+ fail ArgumentError, "Missing the required parameter 'repo' when calling IntegrationsApi.put_integrations_github_repos_by_repo_pages"
2997
+ end
2998
+ # verify the required parameter 'github_pages_update_req' is set
2999
+ if @api_client.config.client_side_validation && github_pages_update_req.nil?
3000
+ fail ArgumentError, "Missing the required parameter 'github_pages_update_req' when calling IntegrationsApi.put_integrations_github_repos_by_repo_pages"
3001
+ end
3002
+ # resource path
3003
+ local_var_path = '/v1/integrations/github/repos/{repo}/pages'.sub('{' + 'repo' + '}', CGI.escape(repo.to_s))
3004
+
3005
+ # query parameters
3006
+ query_params = opts[:query_params] || {}
3007
+
3008
+ # header parameters
3009
+ header_params = opts[:header_params] || {}
3010
+ # HTTP header 'Accept' (if needed)
3011
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
3012
+ # HTTP header 'Content-Type'
3013
+ content_type = @api_client.select_header_content_type(['application/json'])
3014
+ if !content_type.nil?
3015
+ header_params['Content-Type'] = content_type
3016
+ end
3017
+
3018
+ # form parameters
3019
+ form_params = opts[:form_params] || {}
3020
+
3021
+ # http body (model)
3022
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(github_pages_update_req)
3023
+
3024
+ # return_type
3025
+ return_type = opts[:debug_return_type] || 'GithubPagesUpdatedOut'
3026
+
3027
+ # auth_names
3028
+ auth_names = opts[:debug_auth_names] || ['bearer']
3029
+
3030
+ new_options = opts.merge(
3031
+ :operation => :"IntegrationsApi.put_integrations_github_repos_by_repo_pages",
3032
+ :header_params => header_params,
3033
+ :query_params => query_params,
3034
+ :form_params => form_params,
3035
+ :body => post_body,
3036
+ :auth_names => auth_names,
3037
+ :return_type => return_type
3038
+ )
3039
+
3040
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
3041
+ if @api_client.config.debugging
3042
+ @api_client.config.logger.debug "API called: IntegrationsApi#put_integrations_github_repos_by_repo_pages\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3043
+ end
3044
+ return data, status_code, headers
3045
+ end
3046
+ end
3047
+ end