moolabs 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1417) hide show
  1. moolabs/__init__.py +1487 -0
  2. moolabs/_dx_attribution_context.py +213 -0
  3. moolabs/_dx_attribution_db_time.py +2126 -0
  4. moolabs/_dx_attribution_db_time_transport.py +173 -0
  5. moolabs/_dx_attribution_delta.py +142 -0
  6. moolabs/_dx_attribution_deposits.py +552 -0
  7. moolabs/_dx_attribution_instrument.py +416 -0
  8. moolabs/_dx_attribution_middleware.py +541 -0
  9. moolabs/_dx_attribution_propagate.py +509 -0
  10. moolabs/_dx_attribution_signal_transport.py +232 -0
  11. moolabs/_dx_attribution_signals.py +927 -0
  12. moolabs/_dx_buffer.py +429 -0
  13. moolabs/_dx_client.py +726 -0
  14. moolabs/_dx_exceptions.py +84 -0
  15. moolabs/_dx_namespaces.py +1780 -0
  16. moolabs/_dx_pagination.py +131 -0
  17. moolabs/_dx_routing.py +276 -0
  18. moolabs/_dx_urls.py +629 -0
  19. moolabs/_dx_webhooks.py +82 -0
  20. moolabs/api/__init__.py +121 -0
  21. moolabs/api/account_team_api.py +1444 -0
  22. moolabs/api/accounts_api.py +4950 -0
  23. moolabs/api/acute_analytics_api.py +5750 -0
  24. moolabs/api/acute_integrations_api.py +3449 -0
  25. moolabs/api/admin_api.py +3347 -0
  26. moolabs/api/alerts_api.py +1626 -0
  27. moolabs/api/allocation_rules_api.py +1720 -0
  28. moolabs/api/analytics_api.py +3204 -0
  29. moolabs/api/app_custom_invoicing_api.py +952 -0
  30. moolabs/api/app_stripe_api.py +958 -0
  31. moolabs/api/apps_api.py +3064 -0
  32. moolabs/api/arc_admin_api.py +8773 -0
  33. moolabs/api/arc_communications_api.py +1991 -0
  34. moolabs/api/arc_portal_api.py +1737 -0
  35. moolabs/api/arc_webhooks_api.py +2087 -0
  36. moolabs/api/attribution_allocation_api.py +2345 -0
  37. moolabs/api/attribution_api.py +1717 -0
  38. moolabs/api/attribution_customer_keys_api.py +600 -0
  39. moolabs/api/attribution_db_time_api.py +918 -0
  40. moolabs/api/attribution_opencost_api.py +1372 -0
  41. moolabs/api/attribution_readouts_api.py +393 -0
  42. moolabs/api/attribution_signals_api.py +315 -0
  43. moolabs/api/auto_topup_api.py +3095 -0
  44. moolabs/api/batch_api.py +6714 -0
  45. moolabs/api/billing_api.py +300 -0
  46. moolabs/api/bom_api.py +2769 -0
  47. moolabs/api/budgets_api.py +2112 -0
  48. moolabs/api/buyer_quotes_api.py +2007 -0
  49. moolabs/api/cases_api.py +5075 -0
  50. moolabs/api/cash_credits_api.py +1548 -0
  51. moolabs/api/chat_api.py +3101 -0
  52. moolabs/api/clause_packs_api.py +2785 -0
  53. moolabs/api/cloud_billing_api.py +1747 -0
  54. moolabs/api/contract_editor_api.py +3384 -0
  55. moolabs/api/cost_events_api.py +1732 -0
  56. moolabs/api/credit_memos_api.py +3478 -0
  57. moolabs/api/customers_api.py +3931 -0
  58. moolabs/api/dashboard_api.py +771 -0
  59. moolabs/api/debug_api.py +300 -0
  60. moolabs/api/default_api.py +526 -0
  61. moolabs/api/disputes_api.py +3586 -0
  62. moolabs/api/dunning_templates_api.py +8737 -0
  63. moolabs/api/email_provider_api.py +526 -0
  64. moolabs/api/entitlements_api.py +9846 -0
  65. moolabs/api/escalations_api.py +2541 -0
  66. moolabs/api/events_api.py +1125 -0
  67. moolabs/api/fx_rates_api.py +1452 -0
  68. moolabs/api/governance_api.py +4402 -0
  69. moolabs/api/grants_api.py +1370 -0
  70. moolabs/api/handoffs_api.py +2138 -0
  71. moolabs/api/health_api.py +281 -0
  72. moolabs/api/homepage_api.py +305 -0
  73. moolabs/api/integrations_api.py +3374 -0
  74. moolabs/api/internal_api.py +7145 -0
  75. moolabs/api/internal_credit_memos_api.py +914 -0
  76. moolabs/api/internal_grants_api.py +1000 -0
  77. moolabs/api/internal_period_settlements_api.py +657 -0
  78. moolabs/api/internal_plan_pricing_api.py +326 -0
  79. moolabs/api/internal_subscriptions_api.py +326 -0
  80. moolabs/api/ledger_api.py +1483 -0
  81. moolabs/api/lookup_information_api.py +587 -0
  82. moolabs/api/mapping_rules_api.py +1782 -0
  83. moolabs/api/mappings_api.py +632 -0
  84. moolabs/api/margin_simulation_api.py +595 -0
  85. moolabs/api/margins_api.py +2301 -0
  86. moolabs/api/meter_billing_api.py +7419 -0
  87. moolabs/api/meter_portal_api.py +1368 -0
  88. moolabs/api/meter_subscriptions_api.py +4358 -0
  89. moolabs/api/meters_api.py +3707 -0
  90. moolabs/api/monitoring_api.py +561 -0
  91. moolabs/api/moolabs_api.py +1182 -0
  92. moolabs/api/moometer_proxy_api.py +1357 -0
  93. moolabs/api/netsuite_sync_api.py +2180 -0
  94. moolabs/api/notes_api.py +1425 -0
  95. moolabs/api/notifications_api.py +4490 -0
  96. moolabs/api/ops_api.py +315 -0
  97. moolabs/api/outbox_api.py +653 -0
  98. moolabs/api/payments_api.py +2889 -0
  99. moolabs/api/performance_api.py +2471 -0
  100. moolabs/api/plan_pricing_api.py +3409 -0
  101. moolabs/api/plans_api.py +2197 -0
  102. moolabs/api/pools_api.py +2358 -0
  103. moolabs/api/portal_api.py +1103 -0
  104. moolabs/api/product_catalog_api.py +7644 -0
  105. moolabs/api/promises_api.py +2814 -0
  106. moolabs/api/quote_agents_api.py +2036 -0
  107. moolabs/api/quote_contract_webhooks_api.py +327 -0
  108. moolabs/api/quote_contracts_api.py +2551 -0
  109. moolabs/api/quote_sessions_api.py +881 -0
  110. moolabs/api/quotes_api.py +12880 -0
  111. moolabs/api/rate_cards_api.py +578 -0
  112. moolabs/api/rate_catalog_api.py +2120 -0
  113. moolabs/api/rate_schedules_api.py +1224 -0
  114. moolabs/api/rating_api.py +617 -0
  115. moolabs/api/reconstruction_api.py +1281 -0
  116. moolabs/api/remittances_api.py +1521 -0
  117. moolabs/api/reports_api.py +722 -0
  118. moolabs/api/rollover_api.py +313 -0
  119. moolabs/api/sdk_ingest_api.py +312 -0
  120. moolabs/api/snapshots_api.py +1218 -0
  121. moolabs/api/state_projection_api.py +961 -0
  122. moolabs/api/steering_api.py +1862 -0
  123. moolabs/api/subjects_api.py +1160 -0
  124. moolabs/api/subscription_overrides_api.py +579 -0
  125. moolabs/api/subscriptions_api.py +1200 -0
  126. moolabs/api/tasks_api.py +1509 -0
  127. moolabs/api/tenant_api.py +22395 -0
  128. moolabs/api/tenant_config_api.py +282 -0
  129. moolabs/api/topup_api.py +632 -0
  130. moolabs/api/unpriced_api.py +933 -0
  131. moolabs/api/usage_api.py +999 -0
  132. moolabs/api/variance_api.py +1327 -0
  133. moolabs/api/wallets_api.py +3787 -0
  134. moolabs/api/webhooks_api.py +281 -0
  135. moolabs/api/well_known_api.py +278 -0
  136. moolabs/api/word_addin_api.py +623 -0
  137. moolabs/api_client.py +797 -0
  138. moolabs/api_response.py +21 -0
  139. moolabs/configuration.py +620 -0
  140. moolabs/exceptions.py +199 -0
  141. moolabs/models/__init__.py +1286 -0
  142. moolabs/models/account_create.py +114 -0
  143. moolabs/models/account_filter_options_response.py +97 -0
  144. moolabs/models/account_invoice_list_response.py +95 -0
  145. moolabs/models/account_list_item_response.py +152 -0
  146. moolabs/models/account_list_item_response_subsidiaries_inner.py +152 -0
  147. moolabs/models/account_list_response.py +101 -0
  148. moolabs/models/account_overview_bucket_response.py +91 -0
  149. moolabs/models/account_overview_response.py +106 -0
  150. moolabs/models/account_response.py +132 -0
  151. moolabs/models/account_segment_row.py +91 -0
  152. moolabs/models/account_subsidiary_option.py +89 -0
  153. moolabs/models/account_summary.py +97 -0
  154. moolabs/models/account_team_member_in.py +97 -0
  155. moolabs/models/account_team_member_out.py +101 -0
  156. moolabs/models/account_team_member_patch.py +97 -0
  157. moolabs/models/account_team_role.py +39 -0
  158. moolabs/models/account_update.py +106 -0
  159. moolabs/models/action_kind.py +45 -0
  160. moolabs/models/acute_approve_request.py +87 -0
  161. moolabs/models/acute_demo_seed_lifecycle_request.py +103 -0
  162. moolabs/models/acute_http_validation_error.py +95 -0
  163. moolabs/models/acute_validation_error.py +99 -0
  164. moolabs/models/add_contract_participant_request.py +107 -0
  165. moolabs/models/addon.py +178 -0
  166. moolabs/models/addon1.py +115 -0
  167. moolabs/models/addon2.py +95 -0
  168. moolabs/models/addon_create.py +123 -0
  169. moolabs/models/addon_instance_type.py +37 -0
  170. moolabs/models/addon_order_by.py +40 -0
  171. moolabs/models/addon_paginated_response.py +101 -0
  172. moolabs/models/addon_replace_update.py +105 -0
  173. moolabs/models/addon_status.py +38 -0
  174. moolabs/models/address.py +110 -0
  175. moolabs/models/adjusted_total.py +152 -0
  176. moolabs/models/adjustment_amount.py +152 -0
  177. moolabs/models/aging_bucket_detail.py +93 -0
  178. moolabs/models/aging_report_response.py +106 -0
  179. moolabs/models/alb_bootstrap_response.py +89 -0
  180. moolabs/models/alb_connector_config.py +128 -0
  181. moolabs/models/alb_connector_health_response.py +112 -0
  182. moolabs/models/alb_connector_list_response.py +138 -0
  183. moolabs/models/alb_load_balancer_config.py +111 -0
  184. moolabs/models/alb_route_rule.py +107 -0
  185. moolabs/models/alb_source_config.py +123 -0
  186. moolabs/models/alb_source_health_response.py +93 -0
  187. moolabs/models/alb_status_patch_request.py +94 -0
  188. moolabs/models/alb_status_patch_response.py +94 -0
  189. moolabs/models/alb_target_group_config.py +103 -0
  190. moolabs/models/algorithm_breakdown_item.py +89 -0
  191. moolabs/models/algorithm_info.py +93 -0
  192. moolabs/models/alignment.py +87 -0
  193. moolabs/models/allocate_credits_request.py +95 -0
  194. moolabs/models/allocation_coverage_response.py +157 -0
  195. moolabs/models/allocation_fact_page_response.py +97 -0
  196. moolabs/models/allocation_fact_response.py +146 -0
  197. moolabs/models/allocation_key.py +91 -0
  198. moolabs/models/allocation_rule_create.py +114 -0
  199. moolabs/models/allocation_rule_response.py +113 -0
  200. moolabs/models/allocation_rule_update.py +111 -0
  201. moolabs/models/allocation_run_create_request.py +100 -0
  202. moolabs/models/allocation_run_create_response.py +142 -0
  203. moolabs/models/allocation_run_open_cost_snapshot_response.py +120 -0
  204. moolabs/models/allocation_run_readout_response.py +110 -0
  205. moolabs/models/allocation_run_response.py +133 -0
  206. moolabs/models/allocations_list_response.py +97 -0
  207. moolabs/models/amount.py +152 -0
  208. moolabs/models/amount1.py +152 -0
  209. moolabs/models/api_key_item.py +103 -0
  210. moolabs/models/app.py +164 -0
  211. moolabs/models/app_api_v1_auto_topup_router_trigger_response.py +108 -0
  212. moolabs/models/app_api_v1_fx_rates_router_fx_rate_response.py +104 -0
  213. moolabs/models/app_api_v1_integrations_netsuite_sync_router_trigger_response.py +89 -0
  214. moolabs/models/app_api_v1_internal_subscription_sync_schemas_subscription_sync_request.py +123 -0
  215. moolabs/models/app_api_v1_portal_router_create_portal_token_request.py +92 -0
  216. moolabs/models/app_api_v1_quotes_schemas_quote_settings_response.py +91 -0
  217. moolabs/models/app_api_v1_quotes_schemas_update_quote_settings_request.py +89 -0
  218. moolabs/models/app_api_v1_subscriptions_router_subscription_sync_request.py +125 -0
  219. moolabs/models/app_api_v1_tenant_access_router_create_portal_token_request.py +101 -0
  220. moolabs/models/app_api_v1_tenant_fx_rates_router_fx_rate_response.py +93 -0
  221. moolabs/models/app_api_v1_tenant_quote_settings_router_quote_settings_response.py +89 -0
  222. moolabs/models/app_api_v1_tenant_quote_settings_router_update_quote_settings_request.py +87 -0
  223. moolabs/models/app_capability.py +102 -0
  224. moolabs/models/app_capability_type.py +40 -0
  225. moolabs/models/app_paginated_response.py +101 -0
  226. moolabs/models/app_reference.py +95 -0
  227. moolabs/models/app_replace_update.py +164 -0
  228. moolabs/models/app_status.py +37 -0
  229. moolabs/models/app_type.py +38 -0
  230. moolabs/models/apply_credit_request.py +92 -0
  231. moolabs/models/approval_action_request.py +88 -0
  232. moolabs/models/approval_action_response.py +95 -0
  233. moolabs/models/approval_policy_response.py +91 -0
  234. moolabs/models/approve_request.py +88 -0
  235. moolabs/models/approve_response.py +91 -0
  236. moolabs/models/approver_in.py +95 -0
  237. moolabs/models/arc_demo_seed_lifecycle_request.py +103 -0
  238. moolabs/models/arc_dunning_permission_grant_request.py +96 -0
  239. moolabs/models/arc_dunning_permission_revoke_request.py +90 -0
  240. moolabs/models/arc_dunning_template_admin_grant_request.py +90 -0
  241. moolabs/models/arc_dunning_template_admin_grant_response.py +115 -0
  242. moolabs/models/arc_dunning_template_admin_revoke_request.py +88 -0
  243. moolabs/models/arc_dunning_template_admin_user_dto.py +107 -0
  244. moolabs/models/arc_dunning_template_admin_user_grant_dto.py +105 -0
  245. moolabs/models/arc_dunning_template_admin_users_response.py +110 -0
  246. moolabs/models/arc_http_validation_error.py +95 -0
  247. moolabs/models/arc_transaction_request.py +110 -0
  248. moolabs/models/arc_validation_error.py +99 -0
  249. moolabs/models/ask_customer_request.py +97 -0
  250. moolabs/models/ask_customer_response.py +91 -0
  251. moolabs/models/ask_moo_redline_request.py +98 -0
  252. moolabs/models/attribution_allocation_error_detail.py +94 -0
  253. moolabs/models/attribution_allocation_error_response.py +91 -0
  254. moolabs/models/attribution_completeness_response.py +97 -0
  255. moolabs/models/attribution_signal_conflict_detail.py +94 -0
  256. moolabs/models/attribution_signal_conflict_response.py +91 -0
  257. moolabs/models/attribution_signal_delta.py +98 -0
  258. moolabs/models/attribution_signal_request.py +123 -0
  259. moolabs/models/attribution_signal_response.py +96 -0
  260. moolabs/models/audit_request.py +91 -0
  261. moolabs/models/auto_topup_activity_item.py +104 -0
  262. moolabs/models/auto_topup_activity_response.py +97 -0
  263. moolabs/models/auto_topup_rule_response.py +114 -0
  264. moolabs/models/availability.py +43 -0
  265. moolabs/models/backfill_candidate.py +97 -0
  266. moolabs/models/backfill_malformed_disputes_request.py +87 -0
  267. moolabs/models/backfill_malformed_disputes_response.py +101 -0
  268. moolabs/models/balance_history_window.py +99 -0
  269. moolabs/models/basis.py +37 -0
  270. moolabs/models/batch_ingest_request.py +96 -0
  271. moolabs/models/batch_wallet_state_request.py +105 -0
  272. moolabs/models/batch_wallet_state_request_item.py +91 -0
  273. moolabs/models/batch_wallet_state_response.py +97 -0
  274. moolabs/models/batch_wallets_by_subjects_request.py +88 -0
  275. moolabs/models/billing_customer_profile.py +109 -0
  276. moolabs/models/billing_discount_percentage.py +100 -0
  277. moolabs/models/billing_discount_reason.py +164 -0
  278. moolabs/models/billing_discount_usage.py +107 -0
  279. moolabs/models/billing_discounts.py +97 -0
  280. moolabs/models/billing_import_request.py +105 -0
  281. moolabs/models/billing_import_response.py +104 -0
  282. moolabs/models/billing_invoice_customer_extended_details.py +116 -0
  283. moolabs/models/billing_party.py +110 -0
  284. moolabs/models/billing_party_replace_update.py +106 -0
  285. moolabs/models/billing_party_tax_identity.py +88 -0
  286. moolabs/models/billing_profile.py +140 -0
  287. moolabs/models/billing_profile_app_references.py +107 -0
  288. moolabs/models/billing_profile_apps.py +107 -0
  289. moolabs/models/billing_profile_apps_create.py +113 -0
  290. moolabs/models/billing_profile_apps_or_reference.py +148 -0
  291. moolabs/models/billing_profile_create.py +112 -0
  292. moolabs/models/billing_profile_customer_override.py +116 -0
  293. moolabs/models/billing_profile_customer_override_create.py +98 -0
  294. moolabs/models/billing_profile_customer_override_expand.py +37 -0
  295. moolabs/models/billing_profile_customer_override_order_by.py +40 -0
  296. moolabs/models/billing_profile_customer_override_with_details.py +113 -0
  297. moolabs/models/billing_profile_customer_override_with_details_paginated_response.py +101 -0
  298. moolabs/models/billing_profile_expand.py +36 -0
  299. moolabs/models/billing_profile_order_by.py +39 -0
  300. moolabs/models/billing_profile_paginated_response.py +101 -0
  301. moolabs/models/billing_profile_replace_update_with_workflow.py +106 -0
  302. moolabs/models/billing_tenant_settings_out.py +89 -0
  303. moolabs/models/billing_tenant_settings_update.py +88 -0
  304. moolabs/models/billing_workflow.py +109 -0
  305. moolabs/models/billing_workflow_collection_alignment.py +150 -0
  306. moolabs/models/billing_workflow_collection_alignment_anchored.py +100 -0
  307. moolabs/models/billing_workflow_collection_alignment_subscription.py +94 -0
  308. moolabs/models/billing_workflow_collection_settings.py +93 -0
  309. moolabs/models/billing_workflow_create.py +109 -0
  310. moolabs/models/billing_workflow_invoicing_settings.py +99 -0
  311. moolabs/models/billing_workflow_payment_settings.py +88 -0
  312. moolabs/models/billing_workflow_tax_settings.py +89 -0
  313. moolabs/models/bom_component_in.py +105 -0
  314. moolabs/models/bom_component_out.py +109 -0
  315. moolabs/models/bom_create_request.py +107 -0
  316. moolabs/models/bom_out.py +127 -0
  317. moolabs/models/bom_update_request.py +103 -0
  318. moolabs/models/bom_variance_out.py +115 -0
  319. moolabs/models/breakdown_response.py +124 -0
  320. moolabs/models/breakdown_row.py +121 -0
  321. moolabs/models/breakdown_row_kind.py +39 -0
  322. moolabs/models/budget_alert_response.py +107 -0
  323. moolabs/models/budget_amount.py +152 -0
  324. moolabs/models/budget_amount1.py +152 -0
  325. moolabs/models/budget_create.py +110 -0
  326. moolabs/models/budget_pace_status.py +38 -0
  327. moolabs/models/budget_response.py +113 -0
  328. moolabs/models/budget_status_item.py +105 -0
  329. moolabs/models/budget_update.py +107 -0
  330. moolabs/models/budget_with_utilization.py +119 -0
  331. moolabs/models/bulk_action_request.py +92 -0
  332. moolabs/models/bulk_replay_request.py +92 -0
  333. moolabs/models/buyer_accept_request.py +95 -0
  334. moolabs/models/buyer_otp_request_response.py +91 -0
  335. moolabs/models/buyer_otp_verify_request.py +95 -0
  336. moolabs/models/buyer_otp_verify_response.py +89 -0
  337. moolabs/models/buyer_quote_line_item.py +103 -0
  338. moolabs/models/buyer_quote_pricing.py +93 -0
  339. moolabs/models/buyer_quote_projection.py +133 -0
  340. moolabs/models/buyer_reject_request.py +88 -0
  341. moolabs/models/buyer_request_changes_request.py +94 -0
  342. moolabs/models/buyer_request_changes_response.py +93 -0
  343. moolabs/models/buyer_requested_changes.py +90 -0
  344. moolabs/models/cancel_subscription_request.py +91 -0
  345. moolabs/models/card_type.py +37 -0
  346. moolabs/models/case_create.py +112 -0
  347. moolabs/models/case_escalate_request.py +90 -0
  348. moolabs/models/case_invoice_create.py +127 -0
  349. moolabs/models/case_invoice_response.py +150 -0
  350. moolabs/models/case_list_item_response.py +171 -0
  351. moolabs/models/case_list_response.py +101 -0
  352. moolabs/models/case_pause_request.py +91 -0
  353. moolabs/models/case_response.py +169 -0
  354. moolabs/models/case_update.py +102 -0
  355. moolabs/models/case_write_off_request.py +90 -0
  356. moolabs/models/cash_app_config_update_request.py +96 -0
  357. moolabs/models/cei_response.py +102 -0
  358. moolabs/models/change_item.py +101 -0
  359. moolabs/models/channel_policy_schema.py +112 -0
  360. moolabs/models/channel_preference_create.py +99 -0
  361. moolabs/models/channel_preference_response.py +106 -0
  362. moolabs/models/channel_preference_update.py +95 -0
  363. moolabs/models/channel_preferences_response.py +95 -0
  364. moolabs/models/chat_feedback_in.py +91 -0
  365. moolabs/models/chat_message_in.py +89 -0
  366. moolabs/models/chat_request.py +101 -0
  367. moolabs/models/check_trigger_request.py +88 -0
  368. moolabs/models/checkout_session_custom_text_after_submit_params.py +109 -0
  369. moolabs/models/checkout_session_custom_text_after_submit_params_after_submit.py +88 -0
  370. moolabs/models/checkout_session_custom_text_after_submit_params_shipping_address.py +88 -0
  371. moolabs/models/checkout_session_custom_text_after_submit_params_submit.py +88 -0
  372. moolabs/models/checkout_session_custom_text_after_submit_params_terms_of_service_acceptance.py +88 -0
  373. moolabs/models/checkout_session_ui_mode.py +37 -0
  374. moolabs/models/clause_citations.py +91 -0
  375. moolabs/models/clause_family.py +129 -0
  376. moolabs/models/clause_finding.py +110 -0
  377. moolabs/models/clause_pack.py +118 -0
  378. moolabs/models/clause_position.py +91 -0
  379. moolabs/models/client_app_start_response.py +87 -0
  380. moolabs/models/cloud_cost_row_input.py +105 -0
  381. moolabs/models/cloud_provider.py +38 -0
  382. moolabs/models/cloud_provider_data_through.py +116 -0
  383. moolabs/models/cloud_provider_quality_axis.py +107 -0
  384. moolabs/models/cloud_temporal_coverage_summary.py +114 -0
  385. moolabs/models/collection_method.py +37 -0
  386. moolabs/models/commercial_basis.py +39 -0
  387. moolabs/models/commercial_overrides.py +113 -0
  388. moolabs/models/commercial_overrides_input.py +115 -0
  389. moolabs/models/commercial_overrides_payload.py +113 -0
  390. moolabs/models/communication_create.py +110 -0
  391. moolabs/models/communication_list_response.py +101 -0
  392. moolabs/models/communication_response.py +138 -0
  393. moolabs/models/comparison_mode.py +37 -0
  394. moolabs/models/completeness_response.py +105 -0
  395. moolabs/models/component_coverage_response.py +123 -0
  396. moolabs/models/compute_variance_request.py +96 -0
  397. moolabs/models/compute_variance_response.py +105 -0
  398. moolabs/models/config_upload_gap_out.py +89 -0
  399. moolabs/models/config_upload_response.py +109 -0
  400. moolabs/models/config_upload_summary_out.py +95 -0
  401. moolabs/models/connector_config_response.py +93 -0
  402. moolabs/models/connector_health_response.py +102 -0
  403. moolabs/models/connector_item.py +105 -0
  404. moolabs/models/contact_create.py +100 -0
  405. moolabs/models/contact_list_response.py +101 -0
  406. moolabs/models/contact_response.py +134 -0
  407. moolabs/models/contact_update.py +102 -0
  408. moolabs/models/contract_document_response.py +104 -0
  409. moolabs/models/contract_event_response.py +108 -0
  410. moolabs/models/contract_inbound_message_response.py +106 -0
  411. moolabs/models/contract_participant_response.py +131 -0
  412. moolabs/models/contract_segment_response.py +95 -0
  413. moolabs/models/contract_thread_response.py +115 -0
  414. moolabs/models/contract_thread_snapshot_response.py +121 -0
  415. moolabs/models/contract_upload_detail_response.py +103 -0
  416. moolabs/models/contract_version_response.py +128 -0
  417. moolabs/models/contributor_item.py +123 -0
  418. moolabs/models/contributor_kind.py +38 -0
  419. moolabs/models/contributor_query_request.py +146 -0
  420. moolabs/models/contributor_response.py +174 -0
  421. moolabs/models/cost.py +152 -0
  422. moolabs/models/cost_adjustment_create.py +131 -0
  423. moolabs/models/cost_adjustment_response.py +102 -0
  424. moolabs/models/cost_driver_rule_create_request.py +158 -0
  425. moolabs/models/cost_driver_rule_response.py +126 -0
  426. moolabs/models/cost_driver_rule_update_request.py +100 -0
  427. moolabs/models/cost_event_detail_response.py +132 -0
  428. moolabs/models/cost_event_ingest.py +177 -0
  429. moolabs/models/cost_event_response.py +122 -0
  430. moolabs/models/cost_event_summary_item.py +103 -0
  431. moolabs/models/cost_event_summary_request.py +88 -0
  432. moolabs/models/cost_event_summary_response.py +95 -0
  433. moolabs/models/cost_explorer_response.py +155 -0
  434. moolabs/models/cost_scope.py +37 -0
  435. moolabs/models/coverage_snapshot_response.py +114 -0
  436. moolabs/models/cpu_core_hours.py +152 -0
  437. moolabs/models/cpu_cost_weight.py +152 -0
  438. moolabs/models/create_allocation_run_api422_response.py +147 -0
  439. moolabs/models/create_api_key_request.py +89 -0
  440. moolabs/models/create_api_key_response.py +105 -0
  441. moolabs/models/create_auto_topup_rule_request.py +106 -0
  442. moolabs/models/create_checkout_session_tax_id_collection.py +90 -0
  443. moolabs/models/create_checkout_session_tax_id_collection_required.py +37 -0
  444. moolabs/models/create_contract_thread_request.py +87 -0
  445. moolabs/models/create_credit_request.py +97 -0
  446. moolabs/models/create_fx_rate_request.py +103 -0
  447. moolabs/models/create_grant_request.py +136 -0
  448. moolabs/models/create_mapping_request.py +91 -0
  449. moolabs/models/create_matrix_price_row_request.py +91 -0
  450. moolabs/models/create_matrix_price_row_response.py +89 -0
  451. moolabs/models/create_portal_token_response.py +91 -0
  452. moolabs/models/create_quote_redline_request.py +103 -0
  453. moolabs/models/create_quote_request.py +119 -0
  454. moolabs/models/create_quote_template_request.py +102 -0
  455. moolabs/models/create_rate_card_request.py +105 -0
  456. moolabs/models/create_reconstruction_run_request.py +101 -0
  457. moolabs/models/create_session_response.py +97 -0
  458. moolabs/models/create_snapshot_request.py +98 -0
  459. moolabs/models/create_stripe_checkout_session_billing_address_collection.py +37 -0
  460. moolabs/models/create_stripe_checkout_session_consent_collection.py +97 -0
  461. moolabs/models/create_stripe_checkout_session_consent_collection_payment_method_reuse_agreement.py +88 -0
  462. moolabs/models/create_stripe_checkout_session_consent_collection_payment_method_reuse_agreement_position.py +37 -0
  463. moolabs/models/create_stripe_checkout_session_consent_collection_promotions.py +37 -0
  464. moolabs/models/create_stripe_checkout_session_consent_collection_terms_of_service.py +37 -0
  465. moolabs/models/create_stripe_checkout_session_customer_update.py +92 -0
  466. moolabs/models/create_stripe_checkout_session_customer_update_behavior.py +37 -0
  467. moolabs/models/create_stripe_checkout_session_redirect_on_completion.py +38 -0
  468. moolabs/models/create_stripe_checkout_session_request.py +112 -0
  469. moolabs/models/create_stripe_checkout_session_request_customer.py +163 -0
  470. moolabs/models/create_stripe_checkout_session_request_options.py +147 -0
  471. moolabs/models/create_stripe_checkout_session_result.py +139 -0
  472. moolabs/models/create_stripe_customer_portal_session_params.py +91 -0
  473. moolabs/models/create_threshold_request.py +99 -0
  474. moolabs/models/create_value_recognition_request.py +100 -0
  475. moolabs/models/create_wallet_request.py +106 -0
  476. moolabs/models/credit_config.py +119 -0
  477. moolabs/models/credit_config_payload.py +135 -0
  478. moolabs/models/credit_cost_ratio_item.py +93 -0
  479. moolabs/models/credit_cost_ratio_response.py +101 -0
  480. moolabs/models/credit_memo_apply_request.py +90 -0
  481. moolabs/models/credit_memo_create.py +104 -0
  482. moolabs/models/credit_memo_create_internal.py +114 -0
  483. moolabs/models/credit_memo_create_public.py +108 -0
  484. moolabs/models/credit_memo_item.py +102 -0
  485. moolabs/models/credit_memo_line_in.py +90 -0
  486. moolabs/models/credit_memo_list_response.py +101 -0
  487. moolabs/models/credit_memo_out.py +138 -0
  488. moolabs/models/credit_memo_response.py +124 -0
  489. moolabs/models/credit_memo_update.py +94 -0
  490. moolabs/models/credit_note_original_invoice_ref.py +114 -0
  491. moolabs/models/credit_override.py +87 -0
  492. moolabs/models/credit_override_input.py +101 -0
  493. moolabs/models/credit_override_payload.py +100 -0
  494. moolabs/models/crm_quote_context_request.py +94 -0
  495. moolabs/models/crm_quote_context_response.py +101 -0
  496. moolabs/models/crm_quote_draft_request.py +98 -0
  497. moolabs/models/crm_quote_draft_response.py +107 -0
  498. moolabs/models/crm_quote_record_card_response.py +97 -0
  499. moolabs/models/crm_surface_response.py +97 -0
  500. moolabs/models/currency.py +101 -0
  501. moolabs/models/current.py +152 -0
  502. moolabs/models/custom_invoicing_app.py +142 -0
  503. moolabs/models/custom_invoicing_app_replace_update.py +105 -0
  504. moolabs/models/custom_invoicing_customer_app_data.py +117 -0
  505. moolabs/models/custom_invoicing_draft_synchronized_request.py +91 -0
  506. moolabs/models/custom_invoicing_finalized_invoicing_request.py +91 -0
  507. moolabs/models/custom_invoicing_finalized_payment_request.py +87 -0
  508. moolabs/models/custom_invoicing_finalized_request.py +97 -0
  509. moolabs/models/custom_invoicing_line_discount_external_id_mapping.py +97 -0
  510. moolabs/models/custom_invoicing_line_external_id_mapping.py +97 -0
  511. moolabs/models/custom_invoicing_payment_trigger.py +41 -0
  512. moolabs/models/custom_invoicing_sync_result.py +110 -0
  513. moolabs/models/custom_invoicing_tax_config.py +87 -0
  514. moolabs/models/custom_invoicing_update_payment_status_request.py +92 -0
  515. moolabs/models/custom_plan_input.py +136 -0
  516. moolabs/models/custom_subscription_change.py +119 -0
  517. moolabs/models/custom_subscription_create.py +153 -0
  518. moolabs/models/customer.py +172 -0
  519. moolabs/models/customer_access.py +102 -0
  520. moolabs/models/customer_app_data.py +164 -0
  521. moolabs/models/customer_app_data_create_or_update_item.py +164 -0
  522. moolabs/models/customer_app_data_paginated_response.py +101 -0
  523. moolabs/models/customer_cost_item.py +95 -0
  524. moolabs/models/customer_create.py +120 -0
  525. moolabs/models/customer_expand.py +36 -0
  526. moolabs/models/customer_id.py +95 -0
  527. moolabs/models/customer_item.py +114 -0
  528. moolabs/models/customer_key.py +87 -0
  529. moolabs/models/customer_key_page_response.py +101 -0
  530. moolabs/models/customer_key_put_request.py +103 -0
  531. moolabs/models/customer_key_response.py +94 -0
  532. moolabs/models/customer_margin_item.py +99 -0
  533. moolabs/models/customer_margin_response.py +101 -0
  534. moolabs/models/customer_order_by.py +38 -0
  535. moolabs/models/customer_paginated_response.py +101 -0
  536. moolabs/models/customer_replace_update.py +120 -0
  537. moolabs/models/customer_subscription_order_by.py +37 -0
  538. moolabs/models/customer_upsert_request.py +102 -0
  539. moolabs/models/customer_usage_attribution.py +88 -0
  540. moolabs/models/danger_request.py +89 -0
  541. moolabs/models/dashboard_meta.py +172 -0
  542. moolabs/models/dashboard_overview_response.py +115 -0
  543. moolabs/models/data_through.py +115 -0
  544. moolabs/models/db_time_coverage_response.py +154 -0
  545. moolabs/models/db_time_evidence_batch_readback_response.py +135 -0
  546. moolabs/models/db_time_evidence_batch_request.py +147 -0
  547. moolabs/models/db_time_evidence_batch_response.py +100 -0
  548. moolabs/models/db_time_evidence_conflict_detail.py +94 -0
  549. moolabs/models/db_time_evidence_conflict_response.py +91 -0
  550. moolabs/models/db_time_evidence_not_found_detail.py +94 -0
  551. moolabs/models/db_time_evidence_not_found_response.py +91 -0
  552. moolabs/models/db_time_observation_request.py +131 -0
  553. moolabs/models/db_time_readout_quality_response.py +103 -0
  554. moolabs/models/deal_context.py +97 -0
  555. moolabs/models/deal_context_rule.py +105 -0
  556. moolabs/models/decision_item.py +131 -0
  557. moolabs/models/decision_kind.py +46 -0
  558. moolabs/models/decision_overview_response.py +172 -0
  559. moolabs/models/decision_queue_response.py +115 -0
  560. moolabs/models/decision_reason_code.py +53 -0
  561. moolabs/models/delta.py +152 -0
  562. moolabs/models/delta_pct.py +152 -0
  563. moolabs/models/demo_seed_acute_history_baseline_request.py +106 -0
  564. moolabs/models/demo_seed_acute_tenant_registration_request.py +114 -0
  565. moolabs/models/demo_seed_agent_report_baseline_request.py +106 -0
  566. moolabs/models/demo_seed_arc_invoice_ref.py +107 -0
  567. moolabs/models/demo_seed_arc_portfolio_baseline_request.py +121 -0
  568. moolabs/models/demo_seed_catalog_baseline_request.py +108 -0
  569. moolabs/models/demo_seed_customer_portfolio_baseline_request.py +103 -0
  570. moolabs/models/demo_seed_integration_crm_baseline_request.py +106 -0
  571. moolabs/models/demo_seed_integration_finance_baseline_request.py +106 -0
  572. moolabs/models/demo_seed_integration_netsuite_baseline_request.py +106 -0
  573. moolabs/models/demo_seed_integration_webhook_baseline_request.py +106 -0
  574. moolabs/models/demo_seed_invoice_payment_baseline_request.py +106 -0
  575. moolabs/models/demo_seed_isolation_canary_baseline_request.py +106 -0
  576. moolabs/models/demo_seed_lifecycle_request.py +103 -0
  577. moolabs/models/demo_seed_quote_contract_baseline_request.py +106 -0
  578. moolabs/models/demo_seed_security_credentials_baseline_request.py +106 -0
  579. moolabs/models/demo_seed_settings_baseline_request.py +106 -0
  580. moolabs/models/demo_seed_subscription_baseline_request.py +106 -0
  581. moolabs/models/demo_seed_tenant_config_baseline_request.py +119 -0
  582. moolabs/models/demo_seed_usage_baseline_request.py +106 -0
  583. moolabs/models/derive_request.py +94 -0
  584. moolabs/models/dimension.py +39 -0
  585. moolabs/models/dimension_coverage_response.py +102 -0
  586. moolabs/models/disclosure_policy_response.py +93 -0
  587. moolabs/models/disclosure_policy_update_request.py +102 -0
  588. moolabs/models/discount_percentage.py +87 -0
  589. moolabs/models/discount_reason_maximum_spend.py +94 -0
  590. moolabs/models/discount_reason_ratecard_percentage.py +109 -0
  591. moolabs/models/discount_reason_ratecard_usage.py +116 -0
  592. moolabs/models/discount_usage.py +95 -0
  593. moolabs/models/discounts.py +97 -0
  594. moolabs/models/dismiss_refinement_request.py +87 -0
  595. moolabs/models/dispute_approval_request.py +88 -0
  596. moolabs/models/dispute_list_response.py +101 -0
  597. moolabs/models/dispute_resolve_request.py +92 -0
  598. moolabs/models/dispute_response.py +134 -0
  599. moolabs/models/dispute_summary_response.py +104 -0
  600. moolabs/models/dispute_update_request.py +102 -0
  601. moolabs/models/dns_record.py +119 -0
  602. moolabs/models/domain_response.py +95 -0
  603. moolabs/models/domain_update.py +87 -0
  604. moolabs/models/draft_lock_request.py +88 -0
  605. moolabs/models/draft_lock_response.py +97 -0
  606. moolabs/models/draft_save_request.py +114 -0
  607. moolabs/models/draft_unlock_request.py +90 -0
  608. moolabs/models/driver_item.py +122 -0
  609. moolabs/models/dry_run_request.py +89 -0
  610. moolabs/models/dry_run_response.py +97 -0
  611. moolabs/models/dso_response.py +100 -0
  612. moolabs/models/dynamic_price_with_commitments.py +131 -0
  613. moolabs/models/economics_summary.py +114 -0
  614. moolabs/models/edit_subscription_add_item.py +102 -0
  615. moolabs/models/edit_subscription_add_phase.py +100 -0
  616. moolabs/models/edit_subscription_remove_item.py +98 -0
  617. moolabs/models/edit_subscription_remove_phase.py +99 -0
  618. moolabs/models/edit_subscription_stretch_phase.py +98 -0
  619. moolabs/models/edit_subscription_unschedule_edit.py +94 -0
  620. moolabs/models/effective_permission_grant_dto.py +105 -0
  621. moolabs/models/effective_permissions_response.py +129 -0
  622. moolabs/models/email_config_out.py +188 -0
  623. moolabs/models/email_config_upsert.py +111 -0
  624. moolabs/models/email_context.py +44 -0
  625. moolabs/models/email_message_status.py +42 -0
  626. moolabs/models/email_provider.py +37 -0
  627. moolabs/models/email_provider_identity.py +157 -0
  628. moolabs/models/email_provider_identity_list.py +108 -0
  629. moolabs/models/email_provider_operator_upsert.py +131 -0
  630. moolabs/models/email_provider_route.py +128 -0
  631. moolabs/models/email_provider_route_list.py +108 -0
  632. moolabs/models/enable_tier3_response.py +93 -0
  633. moolabs/models/endpoints_response.py +89 -0
  634. moolabs/models/entitlement.py +164 -0
  635. moolabs/models/entitlement_boolean.py +168 -0
  636. moolabs/models/entitlement_boolean_create_inputs.py +127 -0
  637. moolabs/models/entitlement_boolean_v2.py +170 -0
  638. moolabs/models/entitlement_create_inputs.py +164 -0
  639. moolabs/models/entitlement_grant.py +148 -0
  640. moolabs/models/entitlement_grant_create_input.py +111 -0
  641. moolabs/models/entitlement_grant_create_input_v2.py +113 -0
  642. moolabs/models/entitlement_grant_v2.py +148 -0
  643. moolabs/models/entitlement_metered.py +190 -0
  644. moolabs/models/entitlement_metered_create_inputs.py +143 -0
  645. moolabs/models/entitlement_metered_v2.py +196 -0
  646. moolabs/models/entitlement_metered_v2_create_inputs.py +157 -0
  647. moolabs/models/entitlement_order_by.py +37 -0
  648. moolabs/models/entitlement_override.py +89 -0
  649. moolabs/models/entitlement_override_input.py +95 -0
  650. moolabs/models/entitlement_override_payload.py +93 -0
  651. moolabs/models/entitlement_paginated_response.py +101 -0
  652. moolabs/models/entitlement_payload.py +103 -0
  653. moolabs/models/entitlement_static.py +170 -0
  654. moolabs/models/entitlement_static_create_inputs.py +129 -0
  655. moolabs/models/entitlement_static_v2.py +172 -0
  656. moolabs/models/entitlement_type.py +38 -0
  657. moolabs/models/entitlement_v2.py +164 -0
  658. moolabs/models/entitlement_v2_create_inputs.py +164 -0
  659. moolabs/models/entitlement_v2_paginated_response.py +101 -0
  660. moolabs/models/entitlement_value.py +109 -0
  661. moolabs/models/error_extension.py +110 -0
  662. moolabs/models/escalate_request.py +90 -0
  663. moolabs/models/escalate_response.py +91 -0
  664. moolabs/models/escalation_action_request.py +90 -0
  665. moolabs/models/escalation_action_response.py +91 -0
  666. moolabs/models/escalation_create.py +97 -0
  667. moolabs/models/escalation_dismiss_request.py +90 -0
  668. moolabs/models/escalation_list_response.py +101 -0
  669. moolabs/models/escalation_resolve_request.py +87 -0
  670. moolabs/models/escalation_response.py +112 -0
  671. moolabs/models/escalation_update.py +93 -0
  672. moolabs/models/event.py +115 -0
  673. moolabs/models/event_delivery_attempt_response.py +101 -0
  674. moolabs/models/evidence_create_request.py +96 -0
  675. moolabs/models/evidence_kind.py +39 -0
  676. moolabs/models/evidence_list_response.py +97 -0
  677. moolabs/models/evidence_response.py +106 -0
  678. moolabs/models/evidence_review_request.py +90 -0
  679. moolabs/models/evidence_window.py +37 -0
  680. moolabs/models/exchange_rate.py +152 -0
  681. moolabs/models/expiration_duration.py +40 -0
  682. moolabs/models/expiration_period.py +91 -0
  683. moolabs/models/explorer_alias_hint.py +104 -0
  684. moolabs/models/explorer_alias_hint1.py +110 -0
  685. moolabs/models/explorer_alias_kind.py +39 -0
  686. moolabs/models/explorer_breakdown_page.py +166 -0
  687. moolabs/models/explorer_breakdown_row.py +200 -0
  688. moolabs/models/explorer_cloud_provider_quality_axis.py +107 -0
  689. moolabs/models/explorer_cloud_temporal_coverage_summary.py +115 -0
  690. moolabs/models/explorer_contributor_kind.py +40 -0
  691. moolabs/models/explorer_contributor_query_request.py +190 -0
  692. moolabs/models/explorer_contributor_response.py +201 -0
  693. moolabs/models/explorer_contributor_row.py +177 -0
  694. moolabs/models/explorer_cost_event_status.py +39 -0
  695. moolabs/models/explorer_dimension.py +40 -0
  696. moolabs/models/explorer_effective_sort.py +107 -0
  697. moolabs/models/explorer_effective_sort_field.py +41 -0
  698. moolabs/models/explorer_evidence_kind.py +41 -0
  699. moolabs/models/explorer_evidence_role.py +37 -0
  700. moolabs/models/explorer_excluded_event_count.py +104 -0
  701. moolabs/models/explorer_excluded_event_reason.py +38 -0
  702. moolabs/models/explorer_exposure_summary.py +124 -0
  703. moolabs/models/explorer_measure_source.py +40 -0
  704. moolabs/models/explorer_meta.py +196 -0
  705. moolabs/models/explorer_quality_axis.py +117 -0
  706. moolabs/models/explorer_quality_caveat_code.py +45 -0
  707. moolabs/models/explorer_quality_summary.py +151 -0
  708. moolabs/models/explorer_query_request.py +184 -0
  709. moolabs/models/explorer_request_detail_event.py +134 -0
  710. moolabs/models/explorer_request_detail_line.py +133 -0
  711. moolabs/models/explorer_request_detail_query_request.py +201 -0
  712. moolabs/models/explorer_request_detail_response.py +205 -0
  713. moolabs/models/explorer_request_detail_result_cap.py +125 -0
  714. moolabs/models/explorer_request_distribution.py +109 -0
  715. moolabs/models/explorer_request_query_request.py +190 -0
  716. moolabs/models/explorer_search.py +111 -0
  717. moolabs/models/explorer_selection_result.py +107 -0
  718. moolabs/models/explorer_selection_row.py +185 -0
  719. moolabs/models/explorer_selection_status.py +39 -0
  720. moolabs/models/explorer_sort.py +104 -0
  721. moolabs/models/explorer_sort1.py +116 -0
  722. moolabs/models/explorer_sort_fallback_reason.py +39 -0
  723. moolabs/models/explorer_sort_field.py +40 -0
  724. moolabs/models/explorer_source_scope.py +38 -0
  725. moolabs/models/explorer_summary.py +134 -0
  726. moolabs/models/explorer_trend_point.py +124 -0
  727. moolabs/models/explorer_usage_history_evidence.py +110 -0
  728. moolabs/models/explorer_usage_history_source.py +38 -0
  729. moolabs/models/feature.py +156 -0
  730. moolabs/models/feature_contributor_customer.py +91 -0
  731. moolabs/models/feature_contributor_model.py +93 -0
  732. moolabs/models/feature_contributor_request.py +91 -0
  733. moolabs/models/feature_contributors_response.py +121 -0
  734. moolabs/models/feature_cost_item.py +97 -0
  735. moolabs/models/feature_create_inputs.py +128 -0
  736. moolabs/models/feature_flag_item.py +97 -0
  737. moolabs/models/feature_flag_update.py +87 -0
  738. moolabs/models/feature_margin_item.py +101 -0
  739. moolabs/models/feature_margin_response.py +101 -0
  740. moolabs/models/feature_meta.py +97 -0
  741. moolabs/models/feature_order_by.py +40 -0
  742. moolabs/models/feature_override_request.py +93 -0
  743. moolabs/models/feature_paginated_response.py +101 -0
  744. moolabs/models/feature_pool.py +99 -0
  745. moolabs/models/feature_pool_payload.py +107 -0
  746. moolabs/models/feature_price_request.py +93 -0
  747. moolabs/models/feature_pricing_input.py +120 -0
  748. moolabs/models/filter_id_exact.py +88 -0
  749. moolabs/models/filter_string.py +129 -0
  750. moolabs/models/filter_time.py +114 -0
  751. moolabs/models/finance_summary.py +143 -0
  752. moolabs/models/first_pass_redline_request.py +88 -0
  753. moolabs/models/first_pass_redline_response.py +89 -0
  754. moolabs/models/flag_disputed_request.py +92 -0
  755. moolabs/models/flag_disputed_response.py +97 -0
  756. moolabs/models/flat_price.py +104 -0
  757. moolabs/models/flat_price_with_payment_term.py +107 -0
  758. moolabs/models/flatamount.py +152 -0
  759. moolabs/models/freshness_axis.py +121 -0
  760. moolabs/models/freshness_source.py +40 -0
  761. moolabs/models/fx_rate_to_reporting.py +153 -0
  762. moolabs/models/fx_rates_list_response.py +97 -0
  763. moolabs/models/gate_status_response.py +105 -0
  764. moolabs/models/get_fx_rate_request.py +92 -0
  765. moolabs/models/get_matrix_price_rows_response.py +107 -0
  766. moolabs/models/google_chat_quote_response.py +89 -0
  767. moolabs/models/grant_activation_request.py +122 -0
  768. moolabs/models/grant_burn_down_history_segment.py +125 -0
  769. moolabs/models/grant_order_by.py +38 -0
  770. moolabs/models/grant_paginated_response.py +101 -0
  771. moolabs/models/grant_plan_change_request.py +126 -0
  772. moolabs/models/grant_renewal_request.py +122 -0
  773. moolabs/models/grant_response.py +128 -0
  774. moolabs/models/grant_source_type.py +40 -0
  775. moolabs/models/grant_usage_record.py +97 -0
  776. moolabs/models/grant_v2_paginated_response.py +101 -0
  777. moolabs/models/grants_list_response.py +99 -0
  778. moolabs/models/handoff_create_request.py +92 -0
  779. moolabs/models/helicone_config_request.py +92 -0
  780. moolabs/models/homepage_response.py +107 -0
  781. moolabs/models/hosted_checkout_settlement_ptp_response.py +100 -0
  782. moolabs/models/hosted_checkout_settlement_request.py +109 -0
  783. moolabs/models/hosted_checkout_settlement_response.py +97 -0
  784. moolabs/models/http_validation_error.py +95 -0
  785. moolabs/models/hub_spot_connect_request.py +91 -0
  786. moolabs/models/id_resource.py +97 -0
  787. moolabs/models/identity_scope.py +39 -0
  788. moolabs/models/identity_scope_coverage_response.py +96 -0
  789. moolabs/models/import_batch_detail_response.py +105 -0
  790. moolabs/models/import_batch_detail_row.py +111 -0
  791. moolabs/models/import_batch_request.py +112 -0
  792. moolabs/models/import_batch_response.py +101 -0
  793. moolabs/models/import_batch_summary.py +111 -0
  794. moolabs/models/import_dispute_item.py +122 -0
  795. moolabs/models/import_disputes_request.py +96 -0
  796. moolabs/models/import_invoice_item.py +133 -0
  797. moolabs/models/import_invoices_request.py +96 -0
  798. moolabs/models/import_promise_item.py +155 -0
  799. moolabs/models/import_promises_request.py +96 -0
  800. moolabs/models/inbound_email_attachment.py +91 -0
  801. moolabs/models/inbound_email_payload.py +103 -0
  802. moolabs/models/inbound_email_process_response.py +97 -0
  803. moolabs/models/ingest_events_body.py +150 -0
  804. moolabs/models/ingest_health.py +97 -0
  805. moolabs/models/ingested_event.py +111 -0
  806. moolabs/models/ingested_event_cursor_paginated_response.py +98 -0
  807. moolabs/models/initialamount.py +152 -0
  808. moolabs/models/insight_card.py +111 -0
  809. moolabs/models/install_method.py +38 -0
  810. moolabs/models/integration_update.py +89 -0
  811. moolabs/models/invalidate_portal_token_request.py +89 -0
  812. moolabs/models/invalidate_portal_tokens_request.py +89 -0
  813. moolabs/models/invoice.py +249 -0
  814. moolabs/models/invoice_allocation_out.py +103 -0
  815. moolabs/models/invoice_app_external_ids.py +97 -0
  816. moolabs/models/invoice_available_action_details.py +89 -0
  817. moolabs/models/invoice_available_actions.py +132 -0
  818. moolabs/models/invoice_detailed_line.py +244 -0
  819. moolabs/models/invoice_detailed_line_cost_category.py +37 -0
  820. moolabs/models/invoice_detailed_line_rate_card.py +116 -0
  821. moolabs/models/invoice_document_ref_type.py +36 -0
  822. moolabs/models/invoice_expand.py +38 -0
  823. moolabs/models/invoice_generic_document_ref.py +98 -0
  824. moolabs/models/invoice_item.py +112 -0
  825. moolabs/models/invoice_line.py +296 -0
  826. moolabs/models/invoice_line_amount_discount.py +141 -0
  827. moolabs/models/invoice_line_app_external_ids.py +93 -0
  828. moolabs/models/invoice_line_discounts.py +105 -0
  829. moolabs/models/invoice_line_managed_by.py +38 -0
  830. moolabs/models/invoice_line_out.py +99 -0
  831. moolabs/models/invoice_line_replace_update.py +143 -0
  832. moolabs/models/invoice_line_status.py +38 -0
  833. moolabs/models/invoice_line_subscription_reference.py +115 -0
  834. moolabs/models/invoice_line_tax_behavior.py +37 -0
  835. moolabs/models/invoice_line_tax_item.py +117 -0
  836. moolabs/models/invoice_line_usage_discount.py +155 -0
  837. moolabs/models/invoice_order_by.py +41 -0
  838. moolabs/models/invoice_paginated_response.py +101 -0
  839. moolabs/models/invoice_payment_terms.py +91 -0
  840. moolabs/models/invoice_pending_line_create.py +131 -0
  841. moolabs/models/invoice_pending_line_create_input.py +105 -0
  842. moolabs/models/invoice_pending_line_create_response.py +107 -0
  843. moolabs/models/invoice_pending_lines_action_filters_input.py +88 -0
  844. moolabs/models/invoice_pending_lines_action_input.py +106 -0
  845. moolabs/models/invoice_reference.py +101 -0
  846. moolabs/models/invoice_replace_update.py +117 -0
  847. moolabs/models/invoice_simulation_input.py +107 -0
  848. moolabs/models/invoice_simulation_line.py +164 -0
  849. moolabs/models/invoice_status.py +44 -0
  850. moolabs/models/invoice_status_details.py +103 -0
  851. moolabs/models/invoice_totals.py +163 -0
  852. moolabs/models/invoice_type.py +37 -0
  853. moolabs/models/invoice_upsert_request.py +112 -0
  854. moolabs/models/invoice_usage_based_rate_card.py +116 -0
  855. moolabs/models/invoice_workflow_invoicing_settings_replace_update.py +97 -0
  856. moolabs/models/invoice_workflow_replace_update.py +91 -0
  857. moolabs/models/invoice_workflow_settings.py +111 -0
  858. moolabs/models/invoice_workflow_settings_replace_update.py +97 -0
  859. moolabs/models/issue_after_reset.py +90 -0
  860. moolabs/models/jurisdiction_profile_response.py +102 -0
  861. moolabs/models/jurisdiction_resolution_request.py +92 -0
  862. moolabs/models/kill_switch_request.py +87 -0
  863. moolabs/models/langfuse_config_request.py +92 -0
  864. moolabs/models/lesson_action_request.py +89 -0
  865. moolabs/models/level_in.py +91 -0
  866. moolabs/models/lifecycle_event_request.py +97 -0
  867. moolabs/models/line_item_create.py +118 -0
  868. moolabs/models/line_total.py +153 -0
  869. moolabs/models/link_net_suite_account_request.py +89 -0
  870. moolabs/models/list_auto_topup_rules_response.py +97 -0
  871. moolabs/models/list_connectors200_response_inner.py +148 -0
  872. moolabs/models/list_entitlements_result.py +151 -0
  873. moolabs/models/list_events_v2_filter_param.py +123 -0
  874. moolabs/models/list_features_result.py +151 -0
  875. moolabs/models/list_grants_get200_response.py +151 -0
  876. moolabs/models/mapping_response.py +97 -0
  877. moolabs/models/mapping_rule_create.py +105 -0
  878. moolabs/models/mapping_rule_response.py +118 -0
  879. moolabs/models/mapping_rule_update.py +103 -0
  880. moolabs/models/margin_snapshot_response.py +131 -0
  881. moolabs/models/marketplace_app_api_key_install_request.py +91 -0
  882. moolabs/models/marketplace_install_request_payload.py +89 -0
  883. moolabs/models/marketplace_install_response.py +94 -0
  884. moolabs/models/marketplace_listing.py +105 -0
  885. moolabs/models/marketplace_listing_paginated_response.py +101 -0
  886. moolabs/models/matrix_price_row.py +91 -0
  887. moolabs/models/measure.py +146 -0
  888. moolabs/models/measure_kind.py +41 -0
  889. moolabs/models/measure_usage_from.py +151 -0
  890. moolabs/models/measure_usage_from_preset.py +37 -0
  891. moolabs/models/merge_remittances_request.py +89 -0
  892. moolabs/models/meter.py +176 -0
  893. moolabs/models/meter_aggregation.py +42 -0
  894. moolabs/models/meter_create.py +113 -0
  895. moolabs/models/meter_mapping_item.py +95 -0
  896. moolabs/models/meter_order_by.py +40 -0
  897. moolabs/models/meter_query_request.py +121 -0
  898. moolabs/models/meter_query_result.py +103 -0
  899. moolabs/models/meter_query_row.py +98 -0
  900. moolabs/models/meter_test_event_request.py +87 -0
  901. moolabs/models/meter_test_event_response.py +93 -0
  902. moolabs/models/meter_update.py +94 -0
  903. moolabs/models/meter_usage_summary_item.py +103 -0
  904. moolabs/models/meter_usage_summary_response.py +95 -0
  905. moolabs/models/meter_validation_error.py +101 -0
  906. moolabs/models/migrate_subscription_request.py +105 -0
  907. moolabs/models/model_cost_item.py +95 -0
  908. moolabs/models/net_suite_connect_request.py +103 -0
  909. moolabs/models/net_suite_cutover_guard_request.py +87 -0
  910. moolabs/models/net_suite_m2_m_finalize_request.py +87 -0
  911. moolabs/models/net_suite_m2_m_setup_request.py +101 -0
  912. moolabs/models/net_suite_managed_portal_backfill_cancel_request.py +87 -0
  913. moolabs/models/net_suite_managed_portal_backfill_request.py +89 -0
  914. moolabs/models/net_suite_managed_portal_backfill_run_request.py +90 -0
  915. moolabs/models/net_suite_managed_portal_mapping_delete_request.py +91 -0
  916. moolabs/models/net_suite_managed_portal_mapping_request.py +97 -0
  917. moolabs/models/net_suite_managed_portal_protection_ack_request.py +89 -0
  918. moolabs/models/next_action_type.py +41 -0
  919. moolabs/models/note_create.py +94 -0
  920. moolabs/models/note_list_response.py +101 -0
  921. moolabs/models/note_response.py +104 -0
  922. moolabs/models/notification_channel_meta.py +100 -0
  923. moolabs/models/notification_channel_order_by.py +39 -0
  924. moolabs/models/notification_channel_paginated_response.py +101 -0
  925. moolabs/models/notification_channel_type.py +36 -0
  926. moolabs/models/notification_channel_webhook.py +145 -0
  927. moolabs/models/notification_channel_webhook_create_request.py +117 -0
  928. moolabs/models/notification_event.py +137 -0
  929. moolabs/models/notification_event_balance_threshold_payload.py +121 -0
  930. moolabs/models/notification_event_balance_threshold_payload_data.py +133 -0
  931. moolabs/models/notification_event_delivery_attempt.py +103 -0
  932. moolabs/models/notification_event_delivery_status.py +125 -0
  933. moolabs/models/notification_event_delivery_status_state.py +40 -0
  934. moolabs/models/notification_event_entitlement_value_payload_base.py +125 -0
  935. moolabs/models/notification_event_invoice_created_payload.py +121 -0
  936. moolabs/models/notification_event_invoice_updated_payload.py +121 -0
  937. moolabs/models/notification_event_order_by.py +37 -0
  938. moolabs/models/notification_event_paginated_response.py +101 -0
  939. moolabs/models/notification_event_payload.py +178 -0
  940. moolabs/models/notification_event_resend_request.py +88 -0
  941. moolabs/models/notification_event_reset_payload.py +121 -0
  942. moolabs/models/notification_event_type.py +39 -0
  943. moolabs/models/notification_rule.py +178 -0
  944. moolabs/models/notification_rule_balance_threshold.py +159 -0
  945. moolabs/models/notification_rule_balance_threshold_create_request.py +115 -0
  946. moolabs/models/notification_rule_balance_threshold_value.py +90 -0
  947. moolabs/models/notification_rule_balance_threshold_value_type.py +40 -0
  948. moolabs/models/notification_rule_create_request.py +178 -0
  949. moolabs/models/notification_rule_entitlement_reset.py +149 -0
  950. moolabs/models/notification_rule_entitlement_reset_create_request.py +105 -0
  951. moolabs/models/notification_rule_invoice_created.py +139 -0
  952. moolabs/models/notification_rule_invoice_created_create_request.py +103 -0
  953. moolabs/models/notification_rule_invoice_updated.py +139 -0
  954. moolabs/models/notification_rule_invoice_updated_create_request.py +103 -0
  955. moolabs/models/notification_rule_order_by.py +39 -0
  956. moolabs/models/notification_rule_paginated_response.py +101 -0
  957. moolabs/models/notify_channel.py +89 -0
  958. moolabs/models/o_auth2_authorization_code_grant_error_type.py +42 -0
  959. moolabs/models/observation_out.py +103 -0
  960. moolabs/models/observed_total_cost.py +153 -0
  961. moolabs/models/open_cost_cluster_binding.py +115 -0
  962. moolabs/models/open_cost_dedicated_namespace.py +104 -0
  963. moolabs/models/open_cost_installation_create_request.py +122 -0
  964. moolabs/models/open_cost_installation_create_response.py +116 -0
  965. moolabs/models/open_cost_installation_response.py +114 -0
  966. moolabs/models/open_cost_snapshot_request.py +139 -0
  967. moolabs/models/open_cost_snapshot_response.py +125 -0
  968. moolabs/models/open_cost_trust_policy.py +145 -0
  969. moolabs/models/open_cost_wire_row.py +140 -0
  970. moolabs/models/open_from_scope_request.py +98 -0
  971. moolabs/models/operations_summary.py +120 -0
  972. moolabs/models/opt_out_request.py +90 -0
  973. moolabs/models/opt_out_response.py +93 -0
  974. moolabs/models/org_role.py +152 -0
  975. moolabs/models/original_total.py +152 -0
  976. moolabs/models/otlp_ingest_response.py +91 -0
  977. moolabs/models/overall_freshness.py +116 -0
  978. moolabs/models/overdraft_settings.py +93 -0
  979. moolabs/models/overdraft_settings_payload.py +93 -0
  980. moolabs/models/override_first_ingress_request.py +94 -0
  981. moolabs/models/override_request.py +90 -0
  982. moolabs/models/override_response.py +91 -0
  983. moolabs/models/overview_response.py +109 -0
  984. moolabs/models/pack_provenance.py +101 -0
  985. moolabs/models/package_price_with_commitments.py +137 -0
  986. moolabs/models/paginated_credit_memos.py +97 -0
  987. moolabs/models/paginated_customers.py +99 -0
  988. moolabs/models/paginated_invoices.py +97 -0
  989. moolabs/models/paginated_payments.py +97 -0
  990. moolabs/models/paginated_sync_runs.py +97 -0
  991. moolabs/models/patch_quote_agent_policy_request.py +98 -0
  992. moolabs/models/patch_rows_request.py +95 -0
  993. moolabs/models/patch_session_request.py +107 -0
  994. moolabs/models/payment_allocation_response.py +104 -0
  995. moolabs/models/payment_create.py +109 -0
  996. moolabs/models/payment_due_date.py +124 -0
  997. moolabs/models/payment_failed_request.py +101 -0
  998. moolabs/models/payment_failed_response.py +93 -0
  999. moolabs/models/payment_instructions_response.py +95 -0
  1000. moolabs/models/payment_instructions_update_request.py +90 -0
  1001. moolabs/models/payment_item.py +104 -0
  1002. moolabs/models/payment_link_request.py +105 -0
  1003. moolabs/models/payment_link_response.py +89 -0
  1004. moolabs/models/payment_list_response.py +101 -0
  1005. moolabs/models/payment_match_request.py +90 -0
  1006. moolabs/models/payment_response.py +136 -0
  1007. moolabs/models/payment_reversal_request.py +90 -0
  1008. moolabs/models/payment_succeeded_request.py +103 -0
  1009. moolabs/models/payment_succeeded_response.py +97 -0
  1010. moolabs/models/payment_term_due_date.py +113 -0
  1011. moolabs/models/payment_term_instant.py +102 -0
  1012. moolabs/models/payment_terms.py +148 -0
  1013. moolabs/models/pending_provider_confirmation_reconcile_request.py +88 -0
  1014. moolabs/models/pending_sns_confirmation_out.py +102 -0
  1015. moolabs/models/period.py +90 -0
  1016. moolabs/models/period_settlement_out.py +143 -0
  1017. moolabs/models/period_window.py +103 -0
  1018. moolabs/models/persona.py +39 -0
  1019. moolabs/models/plan.py +191 -0
  1020. moolabs/models/plan_addon.py +126 -0
  1021. moolabs/models/plan_addon_create.py +101 -0
  1022. moolabs/models/plan_addon_order_by.py +40 -0
  1023. moolabs/models/plan_addon_paginated_response.py +101 -0
  1024. moolabs/models/plan_addon_replace_update.py +91 -0
  1025. moolabs/models/plan_amend_request.py +103 -0
  1026. moolabs/models/plan_cost_item.py +97 -0
  1027. moolabs/models/plan_create.py +140 -0
  1028. moolabs/models/plan_create_request.py +103 -0
  1029. moolabs/models/plan_order_by.py +40 -0
  1030. moolabs/models/plan_paginated_response.py +101 -0
  1031. moolabs/models/plan_phase.py +113 -0
  1032. moolabs/models/plan_pricing_input.py +103 -0
  1033. moolabs/models/plan_pricing_sync_request.py +105 -0
  1034. moolabs/models/plan_pricing_view.py +107 -0
  1035. moolabs/models/plan_ref_payload.py +91 -0
  1036. moolabs/models/plan_reference.py +106 -0
  1037. moolabs/models/plan_reference_input.py +97 -0
  1038. moolabs/models/plan_replace_update.py +122 -0
  1039. moolabs/models/plan_status.py +39 -0
  1040. moolabs/models/plan_subscription_change.py +153 -0
  1041. moolabs/models/plan_subscription_create.py +167 -0
  1042. moolabs/models/policy_update_request.py +94 -0
  1043. moolabs/models/pool_notification_config_request.py +87 -0
  1044. moolabs/models/pooloverrides_value.py +152 -0
  1045. moolabs/models/portal_case_response.py +108 -0
  1046. moolabs/models/portal_channel_preference_request.py +100 -0
  1047. moolabs/models/portal_dispute_request.py +94 -0
  1048. moolabs/models/portal_dispute_response.py +102 -0
  1049. moolabs/models/portal_invoice_response.py +124 -0
  1050. moolabs/models/portal_payment_intent_response.py +91 -0
  1051. moolabs/models/portal_payment_request.py +102 -0
  1052. moolabs/models/portal_preferences_request.py +113 -0
  1053. moolabs/models/portal_preferences_response.py +87 -0
  1054. moolabs/models/portal_promise_to_pay_response.py +106 -0
  1055. moolabs/models/portal_ptp_request.py +95 -0
  1056. moolabs/models/portal_token.py +121 -0
  1057. moolabs/models/portal_token_item.py +97 -0
  1058. moolabs/models/preview_resolution_request.py +89 -0
  1059. moolabs/models/preview_resolution_response.py +101 -0
  1060. moolabs/models/preview_template_request.py +102 -0
  1061. moolabs/models/preview_template_response.py +95 -0
  1062. moolabs/models/preview_trace_entry.py +97 -0
  1063. moolabs/models/previous.py +152 -0
  1064. moolabs/models/price_payment_term.py +37 -0
  1065. moolabs/models/price_session_response.py +109 -0
  1066. moolabs/models/price_tier.py +110 -0
  1067. moolabs/models/price_tier_payload.py +103 -0
  1068. moolabs/models/pricing_override_input.py +100 -0
  1069. moolabs/models/pricing_result.py +100 -0
  1070. moolabs/models/pricing_snapshot_response.py +109 -0
  1071. moolabs/models/pricing_tier_input.py +90 -0
  1072. moolabs/models/priority.py +38 -0
  1073. moolabs/models/pro_rating_config.py +90 -0
  1074. moolabs/models/pro_rating_mode.py +36 -0
  1075. moolabs/models/process_value_recognition_request.py +94 -0
  1076. moolabs/models/progress.py +94 -0
  1077. moolabs/models/projection_link_in.py +91 -0
  1078. moolabs/models/projection_links_request.py +98 -0
  1079. moolabs/models/projection_links_response.py +89 -0
  1080. moolabs/models/promise_response.py +112 -0
  1081. moolabs/models/promote_response.py +89 -0
  1082. moolabs/models/provider_billing_reference.py +146 -0
  1083. moolabs/models/provider_billing_reference_kind.py +37 -0
  1084. moolabs/models/provider_blocking_reason.py +115 -0
  1085. moolabs/models/provider_confirmation_repair_request.py +99 -0
  1086. moolabs/models/provider_connection_status.py +42 -0
  1087. moolabs/models/provider_identity_details.py +110 -0
  1088. moolabs/models/provider_identity_purpose.py +38 -0
  1089. moolabs/models/provider_kind.py +37 -0
  1090. moolabs/models/provider_readiness_response.py +97 -0
  1091. moolabs/models/provider_readiness_summary.py +123 -0
  1092. moolabs/models/provider_route_status.py +39 -0
  1093. moolabs/models/provider_safe_test_send_request.py +107 -0
  1094. moolabs/models/provider_safe_test_send_response.py +109 -0
  1095. moolabs/models/provider_summary.py +89 -0
  1096. moolabs/models/provider_warning.py +115 -0
  1097. moolabs/models/ptp_approval_request.py +88 -0
  1098. moolabs/models/ptp_create_request.py +103 -0
  1099. moolabs/models/ptp_fulfill_request.py +90 -0
  1100. moolabs/models/ptp_payment_link_response.py +89 -0
  1101. moolabs/models/ptp_summary_response.py +104 -0
  1102. moolabs/models/publish_plan_request.py +93 -0
  1103. moolabs/models/publish_plan_result.py +93 -0
  1104. moolabs/models/publish_template_request.py +96 -0
  1105. moolabs/models/put_account_segment_request.py +89 -0
  1106. moolabs/models/put_sku_eligibility_request.py +89 -0
  1107. moolabs/models/put_tenant_segments_request.py +89 -0
  1108. moolabs/models/quality_axis.py +116 -0
  1109. moolabs/models/quality_caveat_code.py +40 -0
  1110. moolabs/models/quality_status.py +40 -0
  1111. moolabs/models/quality_summary.py +135 -0
  1112. moolabs/models/quantity.py +153 -0
  1113. moolabs/models/quick_action.py +99 -0
  1114. moolabs/models/quick_books_connect_request.py +93 -0
  1115. moolabs/models/quick_redline_response.py +123 -0
  1116. moolabs/models/quote_agent_evaluation_response.py +106 -0
  1117. moolabs/models/quote_agent_policy_response.py +112 -0
  1118. moolabs/models/quote_agent_provenance_run_response.py +114 -0
  1119. moolabs/models/quote_agent_run_response.py +122 -0
  1120. moolabs/models/quote_approval_decision_request.py +88 -0
  1121. moolabs/models/quote_approval_response.py +107 -0
  1122. moolabs/models/quote_line_item_input.py +144 -0
  1123. moolabs/models/quote_list_response.py +101 -0
  1124. moolabs/models/quote_metrics_response.py +105 -0
  1125. moolabs/models/quote_redline_decision_request.py +88 -0
  1126. moolabs/models/quote_redline_response.py +125 -0
  1127. moolabs/models/quote_response.py +125 -0
  1128. moolabs/models/quote_template_list_response.py +95 -0
  1129. moolabs/models/quote_template_response.py +109 -0
  1130. moolabs/models/quote_version_response.py +129 -0
  1131. moolabs/models/ram_cost_weight.py +152 -0
  1132. moolabs/models/ram_gib_hours.py +152 -0
  1133. moolabs/models/rate_bulk_import_request.py +97 -0
  1134. moolabs/models/rate_bulk_import_response.py +91 -0
  1135. moolabs/models/rate_card.py +150 -0
  1136. moolabs/models/rate_card_boolean_entitlement.py +96 -0
  1137. moolabs/models/rate_card_cost_list_response.py +95 -0
  1138. moolabs/models/rate_card_cost_row.py +103 -0
  1139. moolabs/models/rate_card_discount.py +87 -0
  1140. moolabs/models/rate_card_discount_input.py +103 -0
  1141. moolabs/models/rate_card_discount_payload.py +87 -0
  1142. moolabs/models/rate_card_entitlement.py +164 -0
  1143. moolabs/models/rate_card_flat_fee.py +148 -0
  1144. moolabs/models/rate_card_metered_entitlement.py +107 -0
  1145. moolabs/models/rate_card_payload.py +103 -0
  1146. moolabs/models/rate_card_response.py +106 -0
  1147. moolabs/models/rate_card_static_entitlement.py +98 -0
  1148. moolabs/models/rate_card_usage_based.py +148 -0
  1149. moolabs/models/rate_card_usage_based_price.py +192 -0
  1150. moolabs/models/rate_catalog_create.py +117 -0
  1151. moolabs/models/rate_catalog_response.py +118 -0
  1152. moolabs/models/rate_catalog_update.py +107 -0
  1153. moolabs/models/rate_generation_list_view.py +97 -0
  1154. moolabs/models/rate_generation_view.py +98 -0
  1155. moolabs/models/rate_per_unit.py +153 -0
  1156. moolabs/models/rate_per_unit1.py +153 -0
  1157. moolabs/models/rate_schedule_list_response.py +95 -0
  1158. moolabs/models/rate_schedule_preview_response.py +105 -0
  1159. moolabs/models/rate_schedule_version_out.py +101 -0
  1160. moolabs/models/ratify_family_request.py +91 -0
  1161. moolabs/models/ratify_refinement_request.py +93 -0
  1162. moolabs/models/re_scope_request.py +89 -0
  1163. moolabs/models/readiness_summary.py +89 -0
  1164. moolabs/models/readout_page_response.py +119 -0
  1165. moolabs/models/readout_row_response.py +104 -0
  1166. moolabs/models/readout_snapshot_response.py +116 -0
  1167. moolabs/models/reallocate_request.py +90 -0
  1168. moolabs/models/reallocate_response.py +97 -0
  1169. moolabs/models/reattempt_request.py +88 -0
  1170. moolabs/models/reattempt_response.py +89 -0
  1171. moolabs/models/recall_request.py +87 -0
  1172. moolabs/models/reconcile_request.py +89 -0
  1173. moolabs/models/reconcile_response.py +95 -0
  1174. moolabs/models/reconciliation_basis.py +99 -0
  1175. moolabs/models/reconciliation_basis_out.py +95 -0
  1176. moolabs/models/reconstruction_run_response.py +95 -0
  1177. moolabs/models/record_usage_request.py +115 -0
  1178. moolabs/models/recurring_period.py +96 -0
  1179. moolabs/models/recurring_period_create_input.py +94 -0
  1180. moolabs/models/recurring_period_interval.py +151 -0
  1181. moolabs/models/recurring_period_interval_enum.py +39 -0
  1182. moolabs/models/recurring_period_v2.py +94 -0
  1183. moolabs/models/recurringamount.py +152 -0
  1184. moolabs/models/redline_summary.py +89 -0
  1185. moolabs/models/refund_credit_request.py +90 -0
  1186. moolabs/models/reject_rate_generation_request.py +87 -0
  1187. moolabs/models/remittance_create_request.py +103 -0
  1188. moolabs/models/remittance_list_response.py +101 -0
  1189. moolabs/models/remittance_response.py +120 -0
  1190. moolabs/models/remove_contract_participant_response.py +131 -0
  1191. moolabs/models/remove_phase_shifting.py +37 -0
  1192. moolabs/models/replace_levels_request.py +95 -0
  1193. moolabs/models/replay_dead_letter_request.py +89 -0
  1194. moolabs/models/report_create_request.py +105 -0
  1195. moolabs/models/report_create_response.py +139 -0
  1196. moolabs/models/reporting_line_total.py +153 -0
  1197. moolabs/models/reporting_total_cost.py +153 -0
  1198. moolabs/models/request_cost_distribution.py +127 -0
  1199. moolabs/models/request_evidence_response.py +197 -0
  1200. moolabs/models/request_evidence_row.py +154 -0
  1201. moolabs/models/request_pricing_state.py +40 -0
  1202. moolabs/models/reschedule_request.py +88 -0
  1203. moolabs/models/resend_identity_details.py +104 -0
  1204. moolabs/models/reset_entitlement_usage_input.py +92 -0
  1205. moolabs/models/resolve_unapplied_request.py +87 -0
  1206. moolabs/models/resource_map_create_request.py +103 -0
  1207. moolabs/models/resource_map_response.py +113 -0
  1208. moolabs/models/retry_unpriced_request.py +91 -0
  1209. moolabs/models/retry_unpriced_response.py +91 -0
  1210. moolabs/models/revenue_recognition_request.py +89 -0
  1211. moolabs/models/reversed_settlement_ref.py +93 -0
  1212. moolabs/models/review_quarantined_request.py +95 -0
  1213. moolabs/models/review_quarantined_response.py +95 -0
  1214. moolabs/models/revoke_api_key_request.py +87 -0
  1215. moolabs/models/revoke_portal_token_request.py +87 -0
  1216. moolabs/models/rollover_mode.py +38 -0
  1217. moolabs/models/rollover_request.py +95 -0
  1218. moolabs/models/rollover_response.py +98 -0
  1219. moolabs/models/rollovercapamount.py +152 -0
  1220. moolabs/models/rolloverpercent.py +152 -0
  1221. moolabs/models/rotate_key_request.py +88 -0
  1222. moolabs/models/rotate_key_response.py +92 -0
  1223. moolabs/models/route_update_request.py +110 -0
  1224. moolabs/models/salesforce_connect_request.py +93 -0
  1225. moolabs/models/sample_rate.py +153 -0
  1226. moolabs/models/sandbox_app.py +138 -0
  1227. moolabs/models/sandbox_app_replace_update.py +101 -0
  1228. moolabs/models/sandbox_customer_app_data.py +115 -0
  1229. moolabs/models/save_redline_edit_request.py +95 -0
  1230. moolabs/models/scenario_compare_response.py +97 -0
  1231. moolabs/models/scenario_item.py +117 -0
  1232. moolabs/models/scenario_request.py +96 -0
  1233. moolabs/models/scope_type.py +38 -0
  1234. moolabs/models/sdk_batch_ingest_request.py +96 -0
  1235. moolabs/models/sdk_batch_ingest_response.py +91 -0
  1236. moolabs/models/sdk_event.py +111 -0
  1237. moolabs/models/sdk_span.py +106 -0
  1238. moolabs/models/segment_out.py +95 -0
  1239. moolabs/models/sender_response.py +93 -0
  1240. moolabs/models/sender_update.py +93 -0
  1241. moolabs/models/ses_identity_details.py +127 -0
  1242. moolabs/models/ses_provider_scope_status.py +89 -0
  1243. moolabs/models/set_rate_card_cost_request.py +89 -0
  1244. moolabs/models/severity.py +38 -0
  1245. moolabs/models/shadow_mode_request.py +87 -0
  1246. moolabs/models/shadow_run_list_item.py +101 -0
  1247. moolabs/models/shadow_run_metrics.py +114 -0
  1248. moolabs/models/shadow_run_request.py +92 -0
  1249. moolabs/models/shadow_run_summary.py +95 -0
  1250. moolabs/models/simulate_margin_request.py +100 -0
  1251. moolabs/models/simulate_margin_response.py +115 -0
  1252. moolabs/models/simulate_out.py +103 -0
  1253. moolabs/models/sku_eligibility_list_response.py +95 -0
  1254. moolabs/models/sku_eligibility_row.py +91 -0
  1255. moolabs/models/slack_quote_command_response.py +93 -0
  1256. moolabs/models/snapshot_compute_request.py +104 -0
  1257. moolabs/models/snapshot_compute_response.py +99 -0
  1258. moolabs/models/snapshot_response.py +104 -0
  1259. moolabs/models/sns_confirmation_command_out.py +98 -0
  1260. moolabs/models/sns_confirmation_confirmed_out.py +94 -0
  1261. moolabs/models/sns_confirmation_confirmed_request.py +101 -0
  1262. moolabs/models/sns_confirmation_list_out.py +95 -0
  1263. moolabs/models/sort_direction.py +37 -0
  1264. moolabs/models/sort_order.py +37 -0
  1265. moolabs/models/spend_summary.py +114 -0
  1266. moolabs/models/stage_schema.py +117 -0
  1267. moolabs/models/strategy_create_request.py +130 -0
  1268. moolabs/models/strategy_preview_request.py +87 -0
  1269. moolabs/models/strategy_update_request.py +133 -0
  1270. moolabs/models/stripe_api_key_input.py +87 -0
  1271. moolabs/models/stripe_app.py +150 -0
  1272. moolabs/models/stripe_app_replace_update.py +103 -0
  1273. moolabs/models/stripe_checkout_session_mode.py +36 -0
  1274. moolabs/models/stripe_customer_app_data.py +119 -0
  1275. moolabs/models/stripe_customer_app_data_base.py +89 -0
  1276. moolabs/models/stripe_customer_app_data_create_or_update_item.py +111 -0
  1277. moolabs/models/stripe_customer_portal_session.py +102 -0
  1278. moolabs/models/stripe_tax_config.py +95 -0
  1279. moolabs/models/stripe_webhook_event.py +99 -0
  1280. moolabs/models/stripe_webhook_event_data.py +92 -0
  1281. moolabs/models/stripe_webhook_response.py +118 -0
  1282. moolabs/models/subject.py +122 -0
  1283. moolabs/models/subject_upsert.py +98 -0
  1284. moolabs/models/subscription.py +201 -0
  1285. moolabs/models/subscription_activate_request.py +101 -0
  1286. moolabs/models/subscription_addon.py +167 -0
  1287. moolabs/models/subscription_addon_create.py +106 -0
  1288. moolabs/models/subscription_addon_rate_card.py +94 -0
  1289. moolabs/models/subscription_addon_timeline_segment.py +95 -0
  1290. moolabs/models/subscription_addon_update.py +100 -0
  1291. moolabs/models/subscription_alignment.py +93 -0
  1292. moolabs/models/subscription_bad_request_error_response.py +102 -0
  1293. moolabs/models/subscription_change.py +147 -0
  1294. moolabs/models/subscription_change_response_body.py +97 -0
  1295. moolabs/models/subscription_conflict_error_response.py +102 -0
  1296. moolabs/models/subscription_create.py +147 -0
  1297. moolabs/models/subscription_edit.py +102 -0
  1298. moolabs/models/subscription_edit_operation.py +206 -0
  1299. moolabs/models/subscription_error_extensions.py +95 -0
  1300. moolabs/models/subscription_expanded.py +211 -0
  1301. moolabs/models/subscription_item.py +167 -0
  1302. moolabs/models/subscription_item_included.py +97 -0
  1303. moolabs/models/subscription_item_price_override.py +111 -0
  1304. moolabs/models/subscription_item_price_override_type.py +37 -0
  1305. moolabs/models/subscription_paginated_response.py +101 -0
  1306. moolabs/models/subscription_phase_create.py +109 -0
  1307. moolabs/models/subscription_phase_expanded.py +163 -0
  1308. moolabs/models/subscription_ramp_phase.py +91 -0
  1309. moolabs/models/subscription_status.py +39 -0
  1310. moolabs/models/subscription_timing.py +151 -0
  1311. moolabs/models/subscription_timing_enum.py +37 -0
  1312. moolabs/models/sync_config_request.py +109 -0
  1313. moolabs/models/sync_config_response.py +111 -0
  1314. moolabs/models/sync_invoices_request.py +87 -0
  1315. moolabs/models/sync_run_item.py +102 -0
  1316. moolabs/models/synthetic_request_evidence_row.py +118 -0
  1317. moolabs/models/task_complete_request.py +92 -0
  1318. moolabs/models/task_list_response.py +101 -0
  1319. moolabs/models/task_response.py +130 -0
  1320. moolabs/models/task_update.py +93 -0
  1321. moolabs/models/tax_behavior.py +37 -0
  1322. moolabs/models/tax_config.py +100 -0
  1323. moolabs/models/template_archive_request.py +88 -0
  1324. moolabs/models/template_card_action_request.py +99 -0
  1325. moolabs/models/template_item.py +97 -0
  1326. moolabs/models/template_key_create_request.py +92 -0
  1327. moolabs/models/template_key_list_response.py +116 -0
  1328. moolabs/models/template_key_response.py +126 -0
  1329. moolabs/models/template_meta_response.py +93 -0
  1330. moolabs/models/template_preview_request.py +87 -0
  1331. moolabs/models/template_preview_response.py +101 -0
  1332. moolabs/models/template_test_send_request.py +87 -0
  1333. moolabs/models/template_test_send_response.py +93 -0
  1334. moolabs/models/template_update.py +91 -0
  1335. moolabs/models/template_version_list_response.py +95 -0
  1336. moolabs/models/template_version_response.py +143 -0
  1337. moolabs/models/tenant_config_response.py +95 -0
  1338. moolabs/models/tenant_escalation_config_out.py +97 -0
  1339. moolabs/models/tenant_escalation_config_patch.py +92 -0
  1340. moolabs/models/tenant_provision_request.py +89 -0
  1341. moolabs/models/tenant_segment_entry.py +89 -0
  1342. moolabs/models/tenant_segments_response.py +97 -0
  1343. moolabs/models/tenant_unit_economics.py +97 -0
  1344. moolabs/models/territory_in.py +89 -0
  1345. moolabs/models/test_send_request.py +104 -0
  1346. moolabs/models/test_send_response.py +93 -0
  1347. moolabs/models/tiered_price_mode.py +37 -0
  1348. moolabs/models/tiered_price_with_commitments.py +132 -0
  1349. moolabs/models/tiered_pricing_payload.py +97 -0
  1350. moolabs/models/timestamp_window.py +103 -0
  1351. moolabs/models/top_consumer.py +93 -0
  1352. moolabs/models/topup_defaults_request.py +93 -0
  1353. moolabs/models/total_cost.py +153 -0
  1354. moolabs/models/traces_response.py +95 -0
  1355. moolabs/models/trend_data_point.py +91 -0
  1356. moolabs/models/trend_point.py +116 -0
  1357. moolabs/models/trigger_request.py +87 -0
  1358. moolabs/models/ulidor_external_key.py +153 -0
  1359. moolabs/models/unapplied_cash_response.py +106 -0
  1360. moolabs/models/unavailable_reason.py +66 -0
  1361. moolabs/models/unexpected_problem_response.py +111 -0
  1362. moolabs/models/unified_price_row_input.py +99 -0
  1363. moolabs/models/unified_price_row_out.py +109 -0
  1364. moolabs/models/unit_cost.py +153 -0
  1365. moolabs/models/unit_economics.py +97 -0
  1366. moolabs/models/unit_price.py +104 -0
  1367. moolabs/models/unit_price_with_commitments.py +128 -0
  1368. moolabs/models/unitamount.py +152 -0
  1369. moolabs/models/update_approval_policy_request.py +87 -0
  1370. moolabs/models/update_auto_topup_rule_request.py +102 -0
  1371. moolabs/models/update_credit_pool_request.py +98 -0
  1372. moolabs/models/update_quote_template_request.py +102 -0
  1373. moolabs/models/update_threshold_request.py +97 -0
  1374. moolabs/models/update_wallet_settings_request.py +95 -0
  1375. moolabs/models/update_wallet_thresholds_request.py +92 -0
  1376. moolabs/models/upsert_fx_rate_request.py +92 -0
  1377. moolabs/models/upsert_provider_identity_request.py +115 -0
  1378. moolabs/models/upto.py +152 -0
  1379. moolabs/models/usage_summary_window_size.py +37 -0
  1380. moolabs/models/validate_template_request.py +116 -0
  1381. moolabs/models/validate_template_response.py +89 -0
  1382. moolabs/models/validation_error.py +99 -0
  1383. moolabs/models/validation_error_loc_inner.py +152 -0
  1384. moolabs/models/validation_issue.py +135 -0
  1385. moolabs/models/validation_issue_severity.py +37 -0
  1386. moolabs/models/validation_response.py +105 -0
  1387. moolabs/models/value_recognition_response.py +93 -0
  1388. moolabs/models/variance_decomposition_out.py +117 -0
  1389. moolabs/models/variance_summary_response.py +101 -0
  1390. moolabs/models/verification_status.py +39 -0
  1391. moolabs/models/void_grant_request.py +88 -0
  1392. moolabs/models/void_invoice_action_create.py +93 -0
  1393. moolabs/models/void_invoice_action_create_item.py +93 -0
  1394. moolabs/models/void_invoice_action_input.py +103 -0
  1395. moolabs/models/void_invoice_action_line_override.py +101 -0
  1396. moolabs/models/void_invoice_line_action_create.py +150 -0
  1397. moolabs/models/void_invoice_line_action_create_item.py +150 -0
  1398. moolabs/models/void_invoice_line_discard_action.py +94 -0
  1399. moolabs/models/void_invoice_line_pending_action_create.py +97 -0
  1400. moolabs/models/void_invoice_line_pending_action_create_item.py +97 -0
  1401. moolabs/models/volume_summary.py +114 -0
  1402. moolabs/models/wallet_owner_type.py +43 -0
  1403. moolabs/models/wallet_policy.py +38 -0
  1404. moolabs/models/wallet_response.py +112 -0
  1405. moolabs/models/wallet_state_response.py +105 -0
  1406. moolabs/models/warning_item.py +93 -0
  1407. moolabs/models/webhook_response.py +95 -0
  1408. moolabs/models/webhook_update.py +95 -0
  1409. moolabs/models/window_size.py +39 -0
  1410. moolabs/models/windowed_balance_history.py +105 -0
  1411. moolabs/models/xero_connect_request.py +91 -0
  1412. moolabs/py.typed +0 -0
  1413. moolabs/rest.py +257 -0
  1414. moolabs-0.3.0.dist-info/METADATA +31 -0
  1415. moolabs-0.3.0.dist-info/RECORD +1417 -0
  1416. moolabs-0.3.0.dist-info/WHEEL +5 -0
  1417. moolabs-0.3.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2087 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Moolabs API
5
+
6
+ Unified Moolabs SDK. Capability-based public surface stitched from internal service specs: bff, meter, arc, acute. Customers see capability namespaces (usage, billing, collections, etc.); the SDK routes per-operation internally.
7
+
8
+ The version of the OpenAPI document: 0.3.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import StrictStr
20
+ from typing import Any, Optional
21
+
22
+ from moolabs.api_client import ApiClient, RequestSerialized
23
+ from moolabs.api_response import ApiResponse
24
+ from moolabs.rest import RESTResponseType
25
+
26
+
27
+ class ArcWebhooksApi:
28
+ """NOTE: This class is auto generated by OpenAPI Generator
29
+ Ref: https://openapi-generator.tech
30
+
31
+ Do not edit the class manually.
32
+ """
33
+
34
+ def __init__(self, api_client=None) -> None:
35
+ if api_client is None:
36
+ api_client = ApiClient.get_default()
37
+ self.api_client = api_client
38
+
39
+
40
+ @validate_call
41
+ def moometer_webhook(
42
+ self,
43
+ x_moo_meter_signature: Optional[StrictStr] = None,
44
+ _request_timeout: Union[
45
+ None,
46
+ Annotated[StrictFloat, Field(gt=0)],
47
+ Tuple[
48
+ Annotated[StrictFloat, Field(gt=0)],
49
+ Annotated[StrictFloat, Field(gt=0)]
50
+ ]
51
+ ] = None,
52
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
53
+ _content_type: Optional[StrictStr] = None,
54
+ _headers: Optional[Dict[StrictStr, Any]] = None,
55
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
56
+ ) -> object:
57
+ """Moometer Webhook
58
+
59
+ Handle MooMeter invoice lifecycle webhooks.
60
+
61
+ :param x_moo_meter_signature:
62
+ :type x_moo_meter_signature: str
63
+ :param _request_timeout: timeout setting for this request. If one
64
+ number provided, it will be total request
65
+ timeout. It can also be a pair (tuple) of
66
+ (connection, read) timeouts.
67
+ :type _request_timeout: int, tuple(int, int), optional
68
+ :param _request_auth: set to override the auth_settings for an a single
69
+ request; this effectively ignores the
70
+ authentication in the spec for a single request.
71
+ :type _request_auth: dict, optional
72
+ :param _content_type: force content-type for the request.
73
+ :type _content_type: str, Optional
74
+ :param _headers: set to override the headers for a single
75
+ request; this effectively ignores the headers
76
+ in the spec for a single request.
77
+ :type _headers: dict, optional
78
+ :param _host_index: set to override the host_index for a single
79
+ request; this effectively ignores the host_index
80
+ in the spec for a single request.
81
+ :type _host_index: int, optional
82
+ :return: Returns the result object.
83
+ """ # noqa: E501
84
+
85
+ _param = self._moometer_webhook_serialize(
86
+ x_moo_meter_signature=x_moo_meter_signature,
87
+ _request_auth=_request_auth,
88
+ _content_type=_content_type,
89
+ _headers=_headers,
90
+ _host_index=_host_index
91
+ )
92
+
93
+ _response_types_map: Dict[str, Optional[str]] = {
94
+ '200': "object",
95
+ '422': "ArcHTTPValidationError",
96
+ }
97
+ response_data = self.api_client.call_api(
98
+ *_param,
99
+ _request_timeout=_request_timeout
100
+ )
101
+ response_data.read()
102
+ return self.api_client.response_deserialize(
103
+ response_data=response_data,
104
+ response_types_map=_response_types_map,
105
+ ).data
106
+
107
+
108
+ @validate_call
109
+ def moometer_webhook_with_http_info(
110
+ self,
111
+ x_moo_meter_signature: Optional[StrictStr] = None,
112
+ _request_timeout: Union[
113
+ None,
114
+ Annotated[StrictFloat, Field(gt=0)],
115
+ Tuple[
116
+ Annotated[StrictFloat, Field(gt=0)],
117
+ Annotated[StrictFloat, Field(gt=0)]
118
+ ]
119
+ ] = None,
120
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
121
+ _content_type: Optional[StrictStr] = None,
122
+ _headers: Optional[Dict[StrictStr, Any]] = None,
123
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
124
+ ) -> ApiResponse[object]:
125
+ """Moometer Webhook
126
+
127
+ Handle MooMeter invoice lifecycle webhooks.
128
+
129
+ :param x_moo_meter_signature:
130
+ :type x_moo_meter_signature: str
131
+ :param _request_timeout: timeout setting for this request. If one
132
+ number provided, it will be total request
133
+ timeout. It can also be a pair (tuple) of
134
+ (connection, read) timeouts.
135
+ :type _request_timeout: int, tuple(int, int), optional
136
+ :param _request_auth: set to override the auth_settings for an a single
137
+ request; this effectively ignores the
138
+ authentication in the spec for a single request.
139
+ :type _request_auth: dict, optional
140
+ :param _content_type: force content-type for the request.
141
+ :type _content_type: str, Optional
142
+ :param _headers: set to override the headers for a single
143
+ request; this effectively ignores the headers
144
+ in the spec for a single request.
145
+ :type _headers: dict, optional
146
+ :param _host_index: set to override the host_index for a single
147
+ request; this effectively ignores the host_index
148
+ in the spec for a single request.
149
+ :type _host_index: int, optional
150
+ :return: Returns the result object.
151
+ """ # noqa: E501
152
+
153
+ _param = self._moometer_webhook_serialize(
154
+ x_moo_meter_signature=x_moo_meter_signature,
155
+ _request_auth=_request_auth,
156
+ _content_type=_content_type,
157
+ _headers=_headers,
158
+ _host_index=_host_index
159
+ )
160
+
161
+ _response_types_map: Dict[str, Optional[str]] = {
162
+ '200': "object",
163
+ '422': "ArcHTTPValidationError",
164
+ }
165
+ response_data = self.api_client.call_api(
166
+ *_param,
167
+ _request_timeout=_request_timeout
168
+ )
169
+ response_data.read()
170
+ return self.api_client.response_deserialize(
171
+ response_data=response_data,
172
+ response_types_map=_response_types_map,
173
+ )
174
+
175
+
176
+ @validate_call
177
+ def moometer_webhook_without_preload_content(
178
+ self,
179
+ x_moo_meter_signature: Optional[StrictStr] = None,
180
+ _request_timeout: Union[
181
+ None,
182
+ Annotated[StrictFloat, Field(gt=0)],
183
+ Tuple[
184
+ Annotated[StrictFloat, Field(gt=0)],
185
+ Annotated[StrictFloat, Field(gt=0)]
186
+ ]
187
+ ] = None,
188
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
189
+ _content_type: Optional[StrictStr] = None,
190
+ _headers: Optional[Dict[StrictStr, Any]] = None,
191
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
192
+ ) -> RESTResponseType:
193
+ """Moometer Webhook
194
+
195
+ Handle MooMeter invoice lifecycle webhooks.
196
+
197
+ :param x_moo_meter_signature:
198
+ :type x_moo_meter_signature: str
199
+ :param _request_timeout: timeout setting for this request. If one
200
+ number provided, it will be total request
201
+ timeout. It can also be a pair (tuple) of
202
+ (connection, read) timeouts.
203
+ :type _request_timeout: int, tuple(int, int), optional
204
+ :param _request_auth: set to override the auth_settings for an a single
205
+ request; this effectively ignores the
206
+ authentication in the spec for a single request.
207
+ :type _request_auth: dict, optional
208
+ :param _content_type: force content-type for the request.
209
+ :type _content_type: str, Optional
210
+ :param _headers: set to override the headers for a single
211
+ request; this effectively ignores the headers
212
+ in the spec for a single request.
213
+ :type _headers: dict, optional
214
+ :param _host_index: set to override the host_index for a single
215
+ request; this effectively ignores the host_index
216
+ in the spec for a single request.
217
+ :type _host_index: int, optional
218
+ :return: Returns the result object.
219
+ """ # noqa: E501
220
+
221
+ _param = self._moometer_webhook_serialize(
222
+ x_moo_meter_signature=x_moo_meter_signature,
223
+ _request_auth=_request_auth,
224
+ _content_type=_content_type,
225
+ _headers=_headers,
226
+ _host_index=_host_index
227
+ )
228
+
229
+ _response_types_map: Dict[str, Optional[str]] = {
230
+ '200': "object",
231
+ '422': "ArcHTTPValidationError",
232
+ }
233
+ response_data = self.api_client.call_api(
234
+ *_param,
235
+ _request_timeout=_request_timeout
236
+ )
237
+ return response_data.response
238
+
239
+
240
+ def _moometer_webhook_serialize(
241
+ self,
242
+ x_moo_meter_signature,
243
+ _request_auth,
244
+ _content_type,
245
+ _headers,
246
+ _host_index,
247
+ ) -> RequestSerialized:
248
+
249
+ _host = None
250
+
251
+ _collection_formats: Dict[str, str] = {
252
+ }
253
+
254
+ _path_params: Dict[str, str] = {}
255
+ _query_params: List[Tuple[str, str]] = []
256
+ _header_params: Dict[str, Optional[str]] = _headers or {}
257
+ _form_params: List[Tuple[str, str]] = []
258
+ _files: Dict[
259
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
260
+ ] = {}
261
+ _body_params: Optional[bytes] = None
262
+
263
+ # process the path parameters
264
+ # process the query parameters
265
+ # process the header parameters
266
+ if x_moo_meter_signature is not None:
267
+ _header_params['X-MooMeter-Signature'] = x_moo_meter_signature
268
+ # process the form parameters
269
+ # process the body parameter
270
+
271
+
272
+ # set the HTTP header `Accept`
273
+ if 'Accept' not in _header_params:
274
+ _header_params['Accept'] = self.api_client.select_header_accept(
275
+ [
276
+ 'application/json'
277
+ ]
278
+ )
279
+
280
+
281
+ # authentication setting
282
+ _auth_settings: List[str] = [
283
+ ]
284
+
285
+ return self.api_client.param_serialize(
286
+ method='POST',
287
+ resource_path='/v1/arc/webhooks/moometer',
288
+ path_params=_path_params,
289
+ query_params=_query_params,
290
+ header_params=_header_params,
291
+ body=_body_params,
292
+ post_params=_form_params,
293
+ files=_files,
294
+ auth_settings=_auth_settings,
295
+ collection_formats=_collection_formats,
296
+ _host=_host,
297
+ _request_auth=_request_auth
298
+ )
299
+
300
+
301
+
302
+
303
+ @validate_call
304
+ def resend_delivery_webhook(
305
+ self,
306
+ x_resend_signature: Optional[StrictStr] = None,
307
+ _request_timeout: Union[
308
+ None,
309
+ Annotated[StrictFloat, Field(gt=0)],
310
+ Tuple[
311
+ Annotated[StrictFloat, Field(gt=0)],
312
+ Annotated[StrictFloat, Field(gt=0)]
313
+ ]
314
+ ] = None,
315
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
316
+ _content_type: Optional[StrictStr] = None,
317
+ _headers: Optional[Dict[StrictStr, Any]] = None,
318
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
319
+ ) -> object:
320
+ """Resend Delivery Webhook
321
+
322
+ Handle Resend delivery status webhooks (delivered, bounced, opened, clicked).
323
+
324
+ :param x_resend_signature:
325
+ :type x_resend_signature: str
326
+ :param _request_timeout: timeout setting for this request. If one
327
+ number provided, it will be total request
328
+ timeout. It can also be a pair (tuple) of
329
+ (connection, read) timeouts.
330
+ :type _request_timeout: int, tuple(int, int), optional
331
+ :param _request_auth: set to override the auth_settings for an a single
332
+ request; this effectively ignores the
333
+ authentication in the spec for a single request.
334
+ :type _request_auth: dict, optional
335
+ :param _content_type: force content-type for the request.
336
+ :type _content_type: str, Optional
337
+ :param _headers: set to override the headers for a single
338
+ request; this effectively ignores the headers
339
+ in the spec for a single request.
340
+ :type _headers: dict, optional
341
+ :param _host_index: set to override the host_index for a single
342
+ request; this effectively ignores the host_index
343
+ in the spec for a single request.
344
+ :type _host_index: int, optional
345
+ :return: Returns the result object.
346
+ """ # noqa: E501
347
+
348
+ _param = self._resend_delivery_webhook_serialize(
349
+ x_resend_signature=x_resend_signature,
350
+ _request_auth=_request_auth,
351
+ _content_type=_content_type,
352
+ _headers=_headers,
353
+ _host_index=_host_index
354
+ )
355
+
356
+ _response_types_map: Dict[str, Optional[str]] = {
357
+ '200': "object",
358
+ '422': "ArcHTTPValidationError",
359
+ }
360
+ response_data = self.api_client.call_api(
361
+ *_param,
362
+ _request_timeout=_request_timeout
363
+ )
364
+ response_data.read()
365
+ return self.api_client.response_deserialize(
366
+ response_data=response_data,
367
+ response_types_map=_response_types_map,
368
+ ).data
369
+
370
+
371
+ @validate_call
372
+ def resend_delivery_webhook_with_http_info(
373
+ self,
374
+ x_resend_signature: Optional[StrictStr] = None,
375
+ _request_timeout: Union[
376
+ None,
377
+ Annotated[StrictFloat, Field(gt=0)],
378
+ Tuple[
379
+ Annotated[StrictFloat, Field(gt=0)],
380
+ Annotated[StrictFloat, Field(gt=0)]
381
+ ]
382
+ ] = None,
383
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
384
+ _content_type: Optional[StrictStr] = None,
385
+ _headers: Optional[Dict[StrictStr, Any]] = None,
386
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
387
+ ) -> ApiResponse[object]:
388
+ """Resend Delivery Webhook
389
+
390
+ Handle Resend delivery status webhooks (delivered, bounced, opened, clicked).
391
+
392
+ :param x_resend_signature:
393
+ :type x_resend_signature: str
394
+ :param _request_timeout: timeout setting for this request. If one
395
+ number provided, it will be total request
396
+ timeout. It can also be a pair (tuple) of
397
+ (connection, read) timeouts.
398
+ :type _request_timeout: int, tuple(int, int), optional
399
+ :param _request_auth: set to override the auth_settings for an a single
400
+ request; this effectively ignores the
401
+ authentication in the spec for a single request.
402
+ :type _request_auth: dict, optional
403
+ :param _content_type: force content-type for the request.
404
+ :type _content_type: str, Optional
405
+ :param _headers: set to override the headers for a single
406
+ request; this effectively ignores the headers
407
+ in the spec for a single request.
408
+ :type _headers: dict, optional
409
+ :param _host_index: set to override the host_index for a single
410
+ request; this effectively ignores the host_index
411
+ in the spec for a single request.
412
+ :type _host_index: int, optional
413
+ :return: Returns the result object.
414
+ """ # noqa: E501
415
+
416
+ _param = self._resend_delivery_webhook_serialize(
417
+ x_resend_signature=x_resend_signature,
418
+ _request_auth=_request_auth,
419
+ _content_type=_content_type,
420
+ _headers=_headers,
421
+ _host_index=_host_index
422
+ )
423
+
424
+ _response_types_map: Dict[str, Optional[str]] = {
425
+ '200': "object",
426
+ '422': "ArcHTTPValidationError",
427
+ }
428
+ response_data = self.api_client.call_api(
429
+ *_param,
430
+ _request_timeout=_request_timeout
431
+ )
432
+ response_data.read()
433
+ return self.api_client.response_deserialize(
434
+ response_data=response_data,
435
+ response_types_map=_response_types_map,
436
+ )
437
+
438
+
439
+ @validate_call
440
+ def resend_delivery_webhook_without_preload_content(
441
+ self,
442
+ x_resend_signature: Optional[StrictStr] = None,
443
+ _request_timeout: Union[
444
+ None,
445
+ Annotated[StrictFloat, Field(gt=0)],
446
+ Tuple[
447
+ Annotated[StrictFloat, Field(gt=0)],
448
+ Annotated[StrictFloat, Field(gt=0)]
449
+ ]
450
+ ] = None,
451
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
452
+ _content_type: Optional[StrictStr] = None,
453
+ _headers: Optional[Dict[StrictStr, Any]] = None,
454
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
455
+ ) -> RESTResponseType:
456
+ """Resend Delivery Webhook
457
+
458
+ Handle Resend delivery status webhooks (delivered, bounced, opened, clicked).
459
+
460
+ :param x_resend_signature:
461
+ :type x_resend_signature: str
462
+ :param _request_timeout: timeout setting for this request. If one
463
+ number provided, it will be total request
464
+ timeout. It can also be a pair (tuple) of
465
+ (connection, read) timeouts.
466
+ :type _request_timeout: int, tuple(int, int), optional
467
+ :param _request_auth: set to override the auth_settings for an a single
468
+ request; this effectively ignores the
469
+ authentication in the spec for a single request.
470
+ :type _request_auth: dict, optional
471
+ :param _content_type: force content-type for the request.
472
+ :type _content_type: str, Optional
473
+ :param _headers: set to override the headers for a single
474
+ request; this effectively ignores the headers
475
+ in the spec for a single request.
476
+ :type _headers: dict, optional
477
+ :param _host_index: set to override the host_index for a single
478
+ request; this effectively ignores the host_index
479
+ in the spec for a single request.
480
+ :type _host_index: int, optional
481
+ :return: Returns the result object.
482
+ """ # noqa: E501
483
+
484
+ _param = self._resend_delivery_webhook_serialize(
485
+ x_resend_signature=x_resend_signature,
486
+ _request_auth=_request_auth,
487
+ _content_type=_content_type,
488
+ _headers=_headers,
489
+ _host_index=_host_index
490
+ )
491
+
492
+ _response_types_map: Dict[str, Optional[str]] = {
493
+ '200': "object",
494
+ '422': "ArcHTTPValidationError",
495
+ }
496
+ response_data = self.api_client.call_api(
497
+ *_param,
498
+ _request_timeout=_request_timeout
499
+ )
500
+ return response_data.response
501
+
502
+
503
+ def _resend_delivery_webhook_serialize(
504
+ self,
505
+ x_resend_signature,
506
+ _request_auth,
507
+ _content_type,
508
+ _headers,
509
+ _host_index,
510
+ ) -> RequestSerialized:
511
+
512
+ _host = None
513
+
514
+ _collection_formats: Dict[str, str] = {
515
+ }
516
+
517
+ _path_params: Dict[str, str] = {}
518
+ _query_params: List[Tuple[str, str]] = []
519
+ _header_params: Dict[str, Optional[str]] = _headers or {}
520
+ _form_params: List[Tuple[str, str]] = []
521
+ _files: Dict[
522
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
523
+ ] = {}
524
+ _body_params: Optional[bytes] = None
525
+
526
+ # process the path parameters
527
+ # process the query parameters
528
+ # process the header parameters
529
+ if x_resend_signature is not None:
530
+ _header_params['X-Resend-Signature'] = x_resend_signature
531
+ # process the form parameters
532
+ # process the body parameter
533
+
534
+
535
+ # set the HTTP header `Accept`
536
+ if 'Accept' not in _header_params:
537
+ _header_params['Accept'] = self.api_client.select_header_accept(
538
+ [
539
+ 'application/json'
540
+ ]
541
+ )
542
+
543
+
544
+ # authentication setting
545
+ _auth_settings: List[str] = [
546
+ ]
547
+
548
+ return self.api_client.param_serialize(
549
+ method='POST',
550
+ resource_path='/v1/arc/webhooks/resend',
551
+ path_params=_path_params,
552
+ query_params=_query_params,
553
+ header_params=_header_params,
554
+ body=_body_params,
555
+ post_params=_form_params,
556
+ files=_files,
557
+ auth_settings=_auth_settings,
558
+ collection_formats=_collection_formats,
559
+ _host=_host,
560
+ _request_auth=_request_auth
561
+ )
562
+
563
+
564
+
565
+
566
+ @validate_call
567
+ def resend_inbound_webhook(
568
+ self,
569
+ _request_timeout: Union[
570
+ None,
571
+ Annotated[StrictFloat, Field(gt=0)],
572
+ Tuple[
573
+ Annotated[StrictFloat, Field(gt=0)],
574
+ Annotated[StrictFloat, Field(gt=0)]
575
+ ]
576
+ ] = None,
577
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
578
+ _content_type: Optional[StrictStr] = None,
579
+ _headers: Optional[Dict[StrictStr, Any]] = None,
580
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
581
+ ) -> object:
582
+ """Resend Inbound Webhook
583
+
584
+ Receive a customer email reply routed to a tenant inbound address. Resend sends a JSON payload describing the received email. We look up the target tenant via the recipient's plus-address tag (``billing+t-<tenant_uuid>@...``), verify the Svix signature headers using the tenant's ``inbound_secret``, persist an ``ArcCommunication(direction=INBOUND, status=RECEIVED)``, and hand off to the classifier agent. Resend webhooks are delivered through Svix and signed with the canonical Svix scheme (``svix-id`` / ``svix-timestamp`` / ``svix-signature`` headers, ``HMAC-SHA256({id}.{ts}.{body}, secret)`` base64-encoded with a ``v1,`` version tag). We forward the full header set to the verifier rather than picking individual headers so the Svix SDK can do its own header-name normalization (some proxies lower-case, some don't; some use ``webhook-*`` instead of ``svix-*``). The earlier implementation only read a single ``X-Resend-Signature`` header that Resend never sends, so every inbound email returned 401 and stayed parked in Resend's retry queue indefinitely. The classifier never mutates customer-facing state — it queues an ``ArcTask`` for a human review (see ``app/agents/inbound_classifier.py``).
585
+
586
+ :param _request_timeout: timeout setting for this request. If one
587
+ number provided, it will be total request
588
+ timeout. It can also be a pair (tuple) of
589
+ (connection, read) timeouts.
590
+ :type _request_timeout: int, tuple(int, int), optional
591
+ :param _request_auth: set to override the auth_settings for an a single
592
+ request; this effectively ignores the
593
+ authentication in the spec for a single request.
594
+ :type _request_auth: dict, optional
595
+ :param _content_type: force content-type for the request.
596
+ :type _content_type: str, Optional
597
+ :param _headers: set to override the headers for a single
598
+ request; this effectively ignores the headers
599
+ in the spec for a single request.
600
+ :type _headers: dict, optional
601
+ :param _host_index: set to override the host_index for a single
602
+ request; this effectively ignores the host_index
603
+ in the spec for a single request.
604
+ :type _host_index: int, optional
605
+ :return: Returns the result object.
606
+ """ # noqa: E501
607
+
608
+ _param = self._resend_inbound_webhook_serialize(
609
+ _request_auth=_request_auth,
610
+ _content_type=_content_type,
611
+ _headers=_headers,
612
+ _host_index=_host_index
613
+ )
614
+
615
+ _response_types_map: Dict[str, Optional[str]] = {
616
+ '200': "object",
617
+ }
618
+ response_data = self.api_client.call_api(
619
+ *_param,
620
+ _request_timeout=_request_timeout
621
+ )
622
+ response_data.read()
623
+ return self.api_client.response_deserialize(
624
+ response_data=response_data,
625
+ response_types_map=_response_types_map,
626
+ ).data
627
+
628
+
629
+ @validate_call
630
+ def resend_inbound_webhook_with_http_info(
631
+ self,
632
+ _request_timeout: Union[
633
+ None,
634
+ Annotated[StrictFloat, Field(gt=0)],
635
+ Tuple[
636
+ Annotated[StrictFloat, Field(gt=0)],
637
+ Annotated[StrictFloat, Field(gt=0)]
638
+ ]
639
+ ] = None,
640
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
641
+ _content_type: Optional[StrictStr] = None,
642
+ _headers: Optional[Dict[StrictStr, Any]] = None,
643
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
644
+ ) -> ApiResponse[object]:
645
+ """Resend Inbound Webhook
646
+
647
+ Receive a customer email reply routed to a tenant inbound address. Resend sends a JSON payload describing the received email. We look up the target tenant via the recipient's plus-address tag (``billing+t-<tenant_uuid>@...``), verify the Svix signature headers using the tenant's ``inbound_secret``, persist an ``ArcCommunication(direction=INBOUND, status=RECEIVED)``, and hand off to the classifier agent. Resend webhooks are delivered through Svix and signed with the canonical Svix scheme (``svix-id`` / ``svix-timestamp`` / ``svix-signature`` headers, ``HMAC-SHA256({id}.{ts}.{body}, secret)`` base64-encoded with a ``v1,`` version tag). We forward the full header set to the verifier rather than picking individual headers so the Svix SDK can do its own header-name normalization (some proxies lower-case, some don't; some use ``webhook-*`` instead of ``svix-*``). The earlier implementation only read a single ``X-Resend-Signature`` header that Resend never sends, so every inbound email returned 401 and stayed parked in Resend's retry queue indefinitely. The classifier never mutates customer-facing state — it queues an ``ArcTask`` for a human review (see ``app/agents/inbound_classifier.py``).
648
+
649
+ :param _request_timeout: timeout setting for this request. If one
650
+ number provided, it will be total request
651
+ timeout. It can also be a pair (tuple) of
652
+ (connection, read) timeouts.
653
+ :type _request_timeout: int, tuple(int, int), optional
654
+ :param _request_auth: set to override the auth_settings for an a single
655
+ request; this effectively ignores the
656
+ authentication in the spec for a single request.
657
+ :type _request_auth: dict, optional
658
+ :param _content_type: force content-type for the request.
659
+ :type _content_type: str, Optional
660
+ :param _headers: set to override the headers for a single
661
+ request; this effectively ignores the headers
662
+ in the spec for a single request.
663
+ :type _headers: dict, optional
664
+ :param _host_index: set to override the host_index for a single
665
+ request; this effectively ignores the host_index
666
+ in the spec for a single request.
667
+ :type _host_index: int, optional
668
+ :return: Returns the result object.
669
+ """ # noqa: E501
670
+
671
+ _param = self._resend_inbound_webhook_serialize(
672
+ _request_auth=_request_auth,
673
+ _content_type=_content_type,
674
+ _headers=_headers,
675
+ _host_index=_host_index
676
+ )
677
+
678
+ _response_types_map: Dict[str, Optional[str]] = {
679
+ '200': "object",
680
+ }
681
+ response_data = self.api_client.call_api(
682
+ *_param,
683
+ _request_timeout=_request_timeout
684
+ )
685
+ response_data.read()
686
+ return self.api_client.response_deserialize(
687
+ response_data=response_data,
688
+ response_types_map=_response_types_map,
689
+ )
690
+
691
+
692
+ @validate_call
693
+ def resend_inbound_webhook_without_preload_content(
694
+ self,
695
+ _request_timeout: Union[
696
+ None,
697
+ Annotated[StrictFloat, Field(gt=0)],
698
+ Tuple[
699
+ Annotated[StrictFloat, Field(gt=0)],
700
+ Annotated[StrictFloat, Field(gt=0)]
701
+ ]
702
+ ] = None,
703
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
704
+ _content_type: Optional[StrictStr] = None,
705
+ _headers: Optional[Dict[StrictStr, Any]] = None,
706
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
707
+ ) -> RESTResponseType:
708
+ """Resend Inbound Webhook
709
+
710
+ Receive a customer email reply routed to a tenant inbound address. Resend sends a JSON payload describing the received email. We look up the target tenant via the recipient's plus-address tag (``billing+t-<tenant_uuid>@...``), verify the Svix signature headers using the tenant's ``inbound_secret``, persist an ``ArcCommunication(direction=INBOUND, status=RECEIVED)``, and hand off to the classifier agent. Resend webhooks are delivered through Svix and signed with the canonical Svix scheme (``svix-id`` / ``svix-timestamp`` / ``svix-signature`` headers, ``HMAC-SHA256({id}.{ts}.{body}, secret)`` base64-encoded with a ``v1,`` version tag). We forward the full header set to the verifier rather than picking individual headers so the Svix SDK can do its own header-name normalization (some proxies lower-case, some don't; some use ``webhook-*`` instead of ``svix-*``). The earlier implementation only read a single ``X-Resend-Signature`` header that Resend never sends, so every inbound email returned 401 and stayed parked in Resend's retry queue indefinitely. The classifier never mutates customer-facing state — it queues an ``ArcTask`` for a human review (see ``app/agents/inbound_classifier.py``).
711
+
712
+ :param _request_timeout: timeout setting for this request. If one
713
+ number provided, it will be total request
714
+ timeout. It can also be a pair (tuple) of
715
+ (connection, read) timeouts.
716
+ :type _request_timeout: int, tuple(int, int), optional
717
+ :param _request_auth: set to override the auth_settings for an a single
718
+ request; this effectively ignores the
719
+ authentication in the spec for a single request.
720
+ :type _request_auth: dict, optional
721
+ :param _content_type: force content-type for the request.
722
+ :type _content_type: str, Optional
723
+ :param _headers: set to override the headers for a single
724
+ request; this effectively ignores the headers
725
+ in the spec for a single request.
726
+ :type _headers: dict, optional
727
+ :param _host_index: set to override the host_index for a single
728
+ request; this effectively ignores the host_index
729
+ in the spec for a single request.
730
+ :type _host_index: int, optional
731
+ :return: Returns the result object.
732
+ """ # noqa: E501
733
+
734
+ _param = self._resend_inbound_webhook_serialize(
735
+ _request_auth=_request_auth,
736
+ _content_type=_content_type,
737
+ _headers=_headers,
738
+ _host_index=_host_index
739
+ )
740
+
741
+ _response_types_map: Dict[str, Optional[str]] = {
742
+ '200': "object",
743
+ }
744
+ response_data = self.api_client.call_api(
745
+ *_param,
746
+ _request_timeout=_request_timeout
747
+ )
748
+ return response_data.response
749
+
750
+
751
+ def _resend_inbound_webhook_serialize(
752
+ self,
753
+ _request_auth,
754
+ _content_type,
755
+ _headers,
756
+ _host_index,
757
+ ) -> RequestSerialized:
758
+
759
+ _host = None
760
+
761
+ _collection_formats: Dict[str, str] = {
762
+ }
763
+
764
+ _path_params: Dict[str, str] = {}
765
+ _query_params: List[Tuple[str, str]] = []
766
+ _header_params: Dict[str, Optional[str]] = _headers or {}
767
+ _form_params: List[Tuple[str, str]] = []
768
+ _files: Dict[
769
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
770
+ ] = {}
771
+ _body_params: Optional[bytes] = None
772
+
773
+ # process the path parameters
774
+ # process the query parameters
775
+ # process the header parameters
776
+ # process the form parameters
777
+ # process the body parameter
778
+
779
+
780
+ # set the HTTP header `Accept`
781
+ if 'Accept' not in _header_params:
782
+ _header_params['Accept'] = self.api_client.select_header_accept(
783
+ [
784
+ 'application/json'
785
+ ]
786
+ )
787
+
788
+
789
+ # authentication setting
790
+ _auth_settings: List[str] = [
791
+ ]
792
+
793
+ return self.api_client.param_serialize(
794
+ method='POST',
795
+ resource_path='/v1/arc/webhooks/inbound/resend',
796
+ path_params=_path_params,
797
+ query_params=_query_params,
798
+ header_params=_header_params,
799
+ body=_body_params,
800
+ post_params=_form_params,
801
+ files=_files,
802
+ auth_settings=_auth_settings,
803
+ collection_formats=_collection_formats,
804
+ _host=_host,
805
+ _request_auth=_request_auth
806
+ )
807
+
808
+
809
+
810
+
811
+ @validate_call
812
+ def sendgrid_webhook(
813
+ self,
814
+ x_twilio_email_event_webhook_signature: Optional[StrictStr] = None,
815
+ _request_timeout: Union[
816
+ None,
817
+ Annotated[StrictFloat, Field(gt=0)],
818
+ Tuple[
819
+ Annotated[StrictFloat, Field(gt=0)],
820
+ Annotated[StrictFloat, Field(gt=0)]
821
+ ]
822
+ ] = None,
823
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
824
+ _content_type: Optional[StrictStr] = None,
825
+ _headers: Optional[Dict[StrictStr, Any]] = None,
826
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
827
+ ) -> object:
828
+ """Sendgrid Webhook
829
+
830
+ Handle SendGrid delivery status webhooks.
831
+
832
+ :param x_twilio_email_event_webhook_signature:
833
+ :type x_twilio_email_event_webhook_signature: str
834
+ :param _request_timeout: timeout setting for this request. If one
835
+ number provided, it will be total request
836
+ timeout. It can also be a pair (tuple) of
837
+ (connection, read) timeouts.
838
+ :type _request_timeout: int, tuple(int, int), optional
839
+ :param _request_auth: set to override the auth_settings for an a single
840
+ request; this effectively ignores the
841
+ authentication in the spec for a single request.
842
+ :type _request_auth: dict, optional
843
+ :param _content_type: force content-type for the request.
844
+ :type _content_type: str, Optional
845
+ :param _headers: set to override the headers for a single
846
+ request; this effectively ignores the headers
847
+ in the spec for a single request.
848
+ :type _headers: dict, optional
849
+ :param _host_index: set to override the host_index for a single
850
+ request; this effectively ignores the host_index
851
+ in the spec for a single request.
852
+ :type _host_index: int, optional
853
+ :return: Returns the result object.
854
+ """ # noqa: E501
855
+
856
+ _param = self._sendgrid_webhook_serialize(
857
+ x_twilio_email_event_webhook_signature=x_twilio_email_event_webhook_signature,
858
+ _request_auth=_request_auth,
859
+ _content_type=_content_type,
860
+ _headers=_headers,
861
+ _host_index=_host_index
862
+ )
863
+
864
+ _response_types_map: Dict[str, Optional[str]] = {
865
+ '200': "object",
866
+ '422': "ArcHTTPValidationError",
867
+ }
868
+ response_data = self.api_client.call_api(
869
+ *_param,
870
+ _request_timeout=_request_timeout
871
+ )
872
+ response_data.read()
873
+ return self.api_client.response_deserialize(
874
+ response_data=response_data,
875
+ response_types_map=_response_types_map,
876
+ ).data
877
+
878
+
879
+ @validate_call
880
+ def sendgrid_webhook_with_http_info(
881
+ self,
882
+ x_twilio_email_event_webhook_signature: Optional[StrictStr] = None,
883
+ _request_timeout: Union[
884
+ None,
885
+ Annotated[StrictFloat, Field(gt=0)],
886
+ Tuple[
887
+ Annotated[StrictFloat, Field(gt=0)],
888
+ Annotated[StrictFloat, Field(gt=0)]
889
+ ]
890
+ ] = None,
891
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
892
+ _content_type: Optional[StrictStr] = None,
893
+ _headers: Optional[Dict[StrictStr, Any]] = None,
894
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
895
+ ) -> ApiResponse[object]:
896
+ """Sendgrid Webhook
897
+
898
+ Handle SendGrid delivery status webhooks.
899
+
900
+ :param x_twilio_email_event_webhook_signature:
901
+ :type x_twilio_email_event_webhook_signature: str
902
+ :param _request_timeout: timeout setting for this request. If one
903
+ number provided, it will be total request
904
+ timeout. It can also be a pair (tuple) of
905
+ (connection, read) timeouts.
906
+ :type _request_timeout: int, tuple(int, int), optional
907
+ :param _request_auth: set to override the auth_settings for an a single
908
+ request; this effectively ignores the
909
+ authentication in the spec for a single request.
910
+ :type _request_auth: dict, optional
911
+ :param _content_type: force content-type for the request.
912
+ :type _content_type: str, Optional
913
+ :param _headers: set to override the headers for a single
914
+ request; this effectively ignores the headers
915
+ in the spec for a single request.
916
+ :type _headers: dict, optional
917
+ :param _host_index: set to override the host_index for a single
918
+ request; this effectively ignores the host_index
919
+ in the spec for a single request.
920
+ :type _host_index: int, optional
921
+ :return: Returns the result object.
922
+ """ # noqa: E501
923
+
924
+ _param = self._sendgrid_webhook_serialize(
925
+ x_twilio_email_event_webhook_signature=x_twilio_email_event_webhook_signature,
926
+ _request_auth=_request_auth,
927
+ _content_type=_content_type,
928
+ _headers=_headers,
929
+ _host_index=_host_index
930
+ )
931
+
932
+ _response_types_map: Dict[str, Optional[str]] = {
933
+ '200': "object",
934
+ '422': "ArcHTTPValidationError",
935
+ }
936
+ response_data = self.api_client.call_api(
937
+ *_param,
938
+ _request_timeout=_request_timeout
939
+ )
940
+ response_data.read()
941
+ return self.api_client.response_deserialize(
942
+ response_data=response_data,
943
+ response_types_map=_response_types_map,
944
+ )
945
+
946
+
947
+ @validate_call
948
+ def sendgrid_webhook_without_preload_content(
949
+ self,
950
+ x_twilio_email_event_webhook_signature: Optional[StrictStr] = None,
951
+ _request_timeout: Union[
952
+ None,
953
+ Annotated[StrictFloat, Field(gt=0)],
954
+ Tuple[
955
+ Annotated[StrictFloat, Field(gt=0)],
956
+ Annotated[StrictFloat, Field(gt=0)]
957
+ ]
958
+ ] = None,
959
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
960
+ _content_type: Optional[StrictStr] = None,
961
+ _headers: Optional[Dict[StrictStr, Any]] = None,
962
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
963
+ ) -> RESTResponseType:
964
+ """Sendgrid Webhook
965
+
966
+ Handle SendGrid delivery status webhooks.
967
+
968
+ :param x_twilio_email_event_webhook_signature:
969
+ :type x_twilio_email_event_webhook_signature: str
970
+ :param _request_timeout: timeout setting for this request. If one
971
+ number provided, it will be total request
972
+ timeout. It can also be a pair (tuple) of
973
+ (connection, read) timeouts.
974
+ :type _request_timeout: int, tuple(int, int), optional
975
+ :param _request_auth: set to override the auth_settings for an a single
976
+ request; this effectively ignores the
977
+ authentication in the spec for a single request.
978
+ :type _request_auth: dict, optional
979
+ :param _content_type: force content-type for the request.
980
+ :type _content_type: str, Optional
981
+ :param _headers: set to override the headers for a single
982
+ request; this effectively ignores the headers
983
+ in the spec for a single request.
984
+ :type _headers: dict, optional
985
+ :param _host_index: set to override the host_index for a single
986
+ request; this effectively ignores the host_index
987
+ in the spec for a single request.
988
+ :type _host_index: int, optional
989
+ :return: Returns the result object.
990
+ """ # noqa: E501
991
+
992
+ _param = self._sendgrid_webhook_serialize(
993
+ x_twilio_email_event_webhook_signature=x_twilio_email_event_webhook_signature,
994
+ _request_auth=_request_auth,
995
+ _content_type=_content_type,
996
+ _headers=_headers,
997
+ _host_index=_host_index
998
+ )
999
+
1000
+ _response_types_map: Dict[str, Optional[str]] = {
1001
+ '200': "object",
1002
+ '422': "ArcHTTPValidationError",
1003
+ }
1004
+ response_data = self.api_client.call_api(
1005
+ *_param,
1006
+ _request_timeout=_request_timeout
1007
+ )
1008
+ return response_data.response
1009
+
1010
+
1011
+ def _sendgrid_webhook_serialize(
1012
+ self,
1013
+ x_twilio_email_event_webhook_signature,
1014
+ _request_auth,
1015
+ _content_type,
1016
+ _headers,
1017
+ _host_index,
1018
+ ) -> RequestSerialized:
1019
+
1020
+ _host = None
1021
+
1022
+ _collection_formats: Dict[str, str] = {
1023
+ }
1024
+
1025
+ _path_params: Dict[str, str] = {}
1026
+ _query_params: List[Tuple[str, str]] = []
1027
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1028
+ _form_params: List[Tuple[str, str]] = []
1029
+ _files: Dict[
1030
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1031
+ ] = {}
1032
+ _body_params: Optional[bytes] = None
1033
+
1034
+ # process the path parameters
1035
+ # process the query parameters
1036
+ # process the header parameters
1037
+ if x_twilio_email_event_webhook_signature is not None:
1038
+ _header_params['x-twilio-email-event-webhook-signature'] = x_twilio_email_event_webhook_signature
1039
+ # process the form parameters
1040
+ # process the body parameter
1041
+
1042
+
1043
+ # set the HTTP header `Accept`
1044
+ if 'Accept' not in _header_params:
1045
+ _header_params['Accept'] = self.api_client.select_header_accept(
1046
+ [
1047
+ 'application/json'
1048
+ ]
1049
+ )
1050
+
1051
+
1052
+ # authentication setting
1053
+ _auth_settings: List[str] = [
1054
+ ]
1055
+
1056
+ return self.api_client.param_serialize(
1057
+ method='POST',
1058
+ resource_path='/v1/arc/webhooks/sendgrid',
1059
+ path_params=_path_params,
1060
+ query_params=_query_params,
1061
+ header_params=_header_params,
1062
+ body=_body_params,
1063
+ post_params=_form_params,
1064
+ files=_files,
1065
+ auth_settings=_auth_settings,
1066
+ collection_formats=_collection_formats,
1067
+ _host=_host,
1068
+ _request_auth=_request_auth
1069
+ )
1070
+
1071
+
1072
+
1073
+
1074
+ @validate_call
1075
+ def ses_delivery_webhook(
1076
+ self,
1077
+ _request_timeout: Union[
1078
+ None,
1079
+ Annotated[StrictFloat, Field(gt=0)],
1080
+ Tuple[
1081
+ Annotated[StrictFloat, Field(gt=0)],
1082
+ Annotated[StrictFloat, Field(gt=0)]
1083
+ ]
1084
+ ] = None,
1085
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1086
+ _content_type: Optional[StrictStr] = None,
1087
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1088
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1089
+ ) -> object:
1090
+ """AWS SES Delivery Webhook
1091
+
1092
+ Handle AWS SES delivery events delivered through SNS.
1093
+
1094
+ :param _request_timeout: timeout setting for this request. If one
1095
+ number provided, it will be total request
1096
+ timeout. It can also be a pair (tuple) of
1097
+ (connection, read) timeouts.
1098
+ :type _request_timeout: int, tuple(int, int), optional
1099
+ :param _request_auth: set to override the auth_settings for an a single
1100
+ request; this effectively ignores the
1101
+ authentication in the spec for a single request.
1102
+ :type _request_auth: dict, optional
1103
+ :param _content_type: force content-type for the request.
1104
+ :type _content_type: str, Optional
1105
+ :param _headers: set to override the headers for a single
1106
+ request; this effectively ignores the headers
1107
+ in the spec for a single request.
1108
+ :type _headers: dict, optional
1109
+ :param _host_index: set to override the host_index for a single
1110
+ request; this effectively ignores the host_index
1111
+ in the spec for a single request.
1112
+ :type _host_index: int, optional
1113
+ :return: Returns the result object.
1114
+ """ # noqa: E501
1115
+
1116
+ _param = self._ses_delivery_webhook_serialize(
1117
+ _request_auth=_request_auth,
1118
+ _content_type=_content_type,
1119
+ _headers=_headers,
1120
+ _host_index=_host_index
1121
+ )
1122
+
1123
+ _response_types_map: Dict[str, Optional[str]] = {
1124
+ '200': "object",
1125
+ }
1126
+ response_data = self.api_client.call_api(
1127
+ *_param,
1128
+ _request_timeout=_request_timeout
1129
+ )
1130
+ response_data.read()
1131
+ return self.api_client.response_deserialize(
1132
+ response_data=response_data,
1133
+ response_types_map=_response_types_map,
1134
+ ).data
1135
+
1136
+
1137
+ @validate_call
1138
+ def ses_delivery_webhook_with_http_info(
1139
+ self,
1140
+ _request_timeout: Union[
1141
+ None,
1142
+ Annotated[StrictFloat, Field(gt=0)],
1143
+ Tuple[
1144
+ Annotated[StrictFloat, Field(gt=0)],
1145
+ Annotated[StrictFloat, Field(gt=0)]
1146
+ ]
1147
+ ] = None,
1148
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1149
+ _content_type: Optional[StrictStr] = None,
1150
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1151
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1152
+ ) -> ApiResponse[object]:
1153
+ """AWS SES Delivery Webhook
1154
+
1155
+ Handle AWS SES delivery events delivered through SNS.
1156
+
1157
+ :param _request_timeout: timeout setting for this request. If one
1158
+ number provided, it will be total request
1159
+ timeout. It can also be a pair (tuple) of
1160
+ (connection, read) timeouts.
1161
+ :type _request_timeout: int, tuple(int, int), optional
1162
+ :param _request_auth: set to override the auth_settings for an a single
1163
+ request; this effectively ignores the
1164
+ authentication in the spec for a single request.
1165
+ :type _request_auth: dict, optional
1166
+ :param _content_type: force content-type for the request.
1167
+ :type _content_type: str, Optional
1168
+ :param _headers: set to override the headers for a single
1169
+ request; this effectively ignores the headers
1170
+ in the spec for a single request.
1171
+ :type _headers: dict, optional
1172
+ :param _host_index: set to override the host_index for a single
1173
+ request; this effectively ignores the host_index
1174
+ in the spec for a single request.
1175
+ :type _host_index: int, optional
1176
+ :return: Returns the result object.
1177
+ """ # noqa: E501
1178
+
1179
+ _param = self._ses_delivery_webhook_serialize(
1180
+ _request_auth=_request_auth,
1181
+ _content_type=_content_type,
1182
+ _headers=_headers,
1183
+ _host_index=_host_index
1184
+ )
1185
+
1186
+ _response_types_map: Dict[str, Optional[str]] = {
1187
+ '200': "object",
1188
+ }
1189
+ response_data = self.api_client.call_api(
1190
+ *_param,
1191
+ _request_timeout=_request_timeout
1192
+ )
1193
+ response_data.read()
1194
+ return self.api_client.response_deserialize(
1195
+ response_data=response_data,
1196
+ response_types_map=_response_types_map,
1197
+ )
1198
+
1199
+
1200
+ @validate_call
1201
+ def ses_delivery_webhook_without_preload_content(
1202
+ self,
1203
+ _request_timeout: Union[
1204
+ None,
1205
+ Annotated[StrictFloat, Field(gt=0)],
1206
+ Tuple[
1207
+ Annotated[StrictFloat, Field(gt=0)],
1208
+ Annotated[StrictFloat, Field(gt=0)]
1209
+ ]
1210
+ ] = None,
1211
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1212
+ _content_type: Optional[StrictStr] = None,
1213
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1214
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1215
+ ) -> RESTResponseType:
1216
+ """AWS SES Delivery Webhook
1217
+
1218
+ Handle AWS SES delivery events delivered through SNS.
1219
+
1220
+ :param _request_timeout: timeout setting for this request. If one
1221
+ number provided, it will be total request
1222
+ timeout. It can also be a pair (tuple) of
1223
+ (connection, read) timeouts.
1224
+ :type _request_timeout: int, tuple(int, int), optional
1225
+ :param _request_auth: set to override the auth_settings for an a single
1226
+ request; this effectively ignores the
1227
+ authentication in the spec for a single request.
1228
+ :type _request_auth: dict, optional
1229
+ :param _content_type: force content-type for the request.
1230
+ :type _content_type: str, Optional
1231
+ :param _headers: set to override the headers for a single
1232
+ request; this effectively ignores the headers
1233
+ in the spec for a single request.
1234
+ :type _headers: dict, optional
1235
+ :param _host_index: set to override the host_index for a single
1236
+ request; this effectively ignores the host_index
1237
+ in the spec for a single request.
1238
+ :type _host_index: int, optional
1239
+ :return: Returns the result object.
1240
+ """ # noqa: E501
1241
+
1242
+ _param = self._ses_delivery_webhook_serialize(
1243
+ _request_auth=_request_auth,
1244
+ _content_type=_content_type,
1245
+ _headers=_headers,
1246
+ _host_index=_host_index
1247
+ )
1248
+
1249
+ _response_types_map: Dict[str, Optional[str]] = {
1250
+ '200': "object",
1251
+ }
1252
+ response_data = self.api_client.call_api(
1253
+ *_param,
1254
+ _request_timeout=_request_timeout
1255
+ )
1256
+ return response_data.response
1257
+
1258
+
1259
+ def _ses_delivery_webhook_serialize(
1260
+ self,
1261
+ _request_auth,
1262
+ _content_type,
1263
+ _headers,
1264
+ _host_index,
1265
+ ) -> RequestSerialized:
1266
+
1267
+ _host = None
1268
+
1269
+ _collection_formats: Dict[str, str] = {
1270
+ }
1271
+
1272
+ _path_params: Dict[str, str] = {}
1273
+ _query_params: List[Tuple[str, str]] = []
1274
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1275
+ _form_params: List[Tuple[str, str]] = []
1276
+ _files: Dict[
1277
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1278
+ ] = {}
1279
+ _body_params: Optional[bytes] = None
1280
+
1281
+ # process the path parameters
1282
+ # process the query parameters
1283
+ # process the header parameters
1284
+ # process the form parameters
1285
+ # process the body parameter
1286
+
1287
+
1288
+ # set the HTTP header `Accept`
1289
+ if 'Accept' not in _header_params:
1290
+ _header_params['Accept'] = self.api_client.select_header_accept(
1291
+ [
1292
+ 'application/json'
1293
+ ]
1294
+ )
1295
+
1296
+
1297
+ # authentication setting
1298
+ _auth_settings: List[str] = [
1299
+ ]
1300
+
1301
+ return self.api_client.param_serialize(
1302
+ method='POST',
1303
+ resource_path='/v1/arc/webhooks/ses',
1304
+ path_params=_path_params,
1305
+ query_params=_query_params,
1306
+ header_params=_header_params,
1307
+ body=_body_params,
1308
+ post_params=_form_params,
1309
+ files=_files,
1310
+ auth_settings=_auth_settings,
1311
+ collection_formats=_collection_formats,
1312
+ _host=_host,
1313
+ _request_auth=_request_auth
1314
+ )
1315
+
1316
+
1317
+
1318
+
1319
+ @validate_call
1320
+ def ses_inbound_webhook(
1321
+ self,
1322
+ _request_timeout: Union[
1323
+ None,
1324
+ Annotated[StrictFloat, Field(gt=0)],
1325
+ Tuple[
1326
+ Annotated[StrictFloat, Field(gt=0)],
1327
+ Annotated[StrictFloat, Field(gt=0)]
1328
+ ]
1329
+ ] = None,
1330
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1331
+ _content_type: Optional[StrictStr] = None,
1332
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1333
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1334
+ ) -> object:
1335
+ """AWS SES Inbound Reply Webhook
1336
+
1337
+ Handle AWS SES inbound receipt events delivered through SNS.
1338
+
1339
+ :param _request_timeout: timeout setting for this request. If one
1340
+ number provided, it will be total request
1341
+ timeout. It can also be a pair (tuple) of
1342
+ (connection, read) timeouts.
1343
+ :type _request_timeout: int, tuple(int, int), optional
1344
+ :param _request_auth: set to override the auth_settings for an a single
1345
+ request; this effectively ignores the
1346
+ authentication in the spec for a single request.
1347
+ :type _request_auth: dict, optional
1348
+ :param _content_type: force content-type for the request.
1349
+ :type _content_type: str, Optional
1350
+ :param _headers: set to override the headers for a single
1351
+ request; this effectively ignores the headers
1352
+ in the spec for a single request.
1353
+ :type _headers: dict, optional
1354
+ :param _host_index: set to override the host_index for a single
1355
+ request; this effectively ignores the host_index
1356
+ in the spec for a single request.
1357
+ :type _host_index: int, optional
1358
+ :return: Returns the result object.
1359
+ """ # noqa: E501
1360
+
1361
+ _param = self._ses_inbound_webhook_serialize(
1362
+ _request_auth=_request_auth,
1363
+ _content_type=_content_type,
1364
+ _headers=_headers,
1365
+ _host_index=_host_index
1366
+ )
1367
+
1368
+ _response_types_map: Dict[str, Optional[str]] = {
1369
+ '200': "object",
1370
+ }
1371
+ response_data = self.api_client.call_api(
1372
+ *_param,
1373
+ _request_timeout=_request_timeout
1374
+ )
1375
+ response_data.read()
1376
+ return self.api_client.response_deserialize(
1377
+ response_data=response_data,
1378
+ response_types_map=_response_types_map,
1379
+ ).data
1380
+
1381
+
1382
+ @validate_call
1383
+ def ses_inbound_webhook_with_http_info(
1384
+ self,
1385
+ _request_timeout: Union[
1386
+ None,
1387
+ Annotated[StrictFloat, Field(gt=0)],
1388
+ Tuple[
1389
+ Annotated[StrictFloat, Field(gt=0)],
1390
+ Annotated[StrictFloat, Field(gt=0)]
1391
+ ]
1392
+ ] = None,
1393
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1394
+ _content_type: Optional[StrictStr] = None,
1395
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1396
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1397
+ ) -> ApiResponse[object]:
1398
+ """AWS SES Inbound Reply Webhook
1399
+
1400
+ Handle AWS SES inbound receipt events delivered through SNS.
1401
+
1402
+ :param _request_timeout: timeout setting for this request. If one
1403
+ number provided, it will be total request
1404
+ timeout. It can also be a pair (tuple) of
1405
+ (connection, read) timeouts.
1406
+ :type _request_timeout: int, tuple(int, int), optional
1407
+ :param _request_auth: set to override the auth_settings for an a single
1408
+ request; this effectively ignores the
1409
+ authentication in the spec for a single request.
1410
+ :type _request_auth: dict, optional
1411
+ :param _content_type: force content-type for the request.
1412
+ :type _content_type: str, Optional
1413
+ :param _headers: set to override the headers for a single
1414
+ request; this effectively ignores the headers
1415
+ in the spec for a single request.
1416
+ :type _headers: dict, optional
1417
+ :param _host_index: set to override the host_index for a single
1418
+ request; this effectively ignores the host_index
1419
+ in the spec for a single request.
1420
+ :type _host_index: int, optional
1421
+ :return: Returns the result object.
1422
+ """ # noqa: E501
1423
+
1424
+ _param = self._ses_inbound_webhook_serialize(
1425
+ _request_auth=_request_auth,
1426
+ _content_type=_content_type,
1427
+ _headers=_headers,
1428
+ _host_index=_host_index
1429
+ )
1430
+
1431
+ _response_types_map: Dict[str, Optional[str]] = {
1432
+ '200': "object",
1433
+ }
1434
+ response_data = self.api_client.call_api(
1435
+ *_param,
1436
+ _request_timeout=_request_timeout
1437
+ )
1438
+ response_data.read()
1439
+ return self.api_client.response_deserialize(
1440
+ response_data=response_data,
1441
+ response_types_map=_response_types_map,
1442
+ )
1443
+
1444
+
1445
+ @validate_call
1446
+ def ses_inbound_webhook_without_preload_content(
1447
+ self,
1448
+ _request_timeout: Union[
1449
+ None,
1450
+ Annotated[StrictFloat, Field(gt=0)],
1451
+ Tuple[
1452
+ Annotated[StrictFloat, Field(gt=0)],
1453
+ Annotated[StrictFloat, Field(gt=0)]
1454
+ ]
1455
+ ] = None,
1456
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1457
+ _content_type: Optional[StrictStr] = None,
1458
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1459
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1460
+ ) -> RESTResponseType:
1461
+ """AWS SES Inbound Reply Webhook
1462
+
1463
+ Handle AWS SES inbound receipt events delivered through SNS.
1464
+
1465
+ :param _request_timeout: timeout setting for this request. If one
1466
+ number provided, it will be total request
1467
+ timeout. It can also be a pair (tuple) of
1468
+ (connection, read) timeouts.
1469
+ :type _request_timeout: int, tuple(int, int), optional
1470
+ :param _request_auth: set to override the auth_settings for an a single
1471
+ request; this effectively ignores the
1472
+ authentication in the spec for a single request.
1473
+ :type _request_auth: dict, optional
1474
+ :param _content_type: force content-type for the request.
1475
+ :type _content_type: str, Optional
1476
+ :param _headers: set to override the headers for a single
1477
+ request; this effectively ignores the headers
1478
+ in the spec for a single request.
1479
+ :type _headers: dict, optional
1480
+ :param _host_index: set to override the host_index for a single
1481
+ request; this effectively ignores the host_index
1482
+ in the spec for a single request.
1483
+ :type _host_index: int, optional
1484
+ :return: Returns the result object.
1485
+ """ # noqa: E501
1486
+
1487
+ _param = self._ses_inbound_webhook_serialize(
1488
+ _request_auth=_request_auth,
1489
+ _content_type=_content_type,
1490
+ _headers=_headers,
1491
+ _host_index=_host_index
1492
+ )
1493
+
1494
+ _response_types_map: Dict[str, Optional[str]] = {
1495
+ '200': "object",
1496
+ }
1497
+ response_data = self.api_client.call_api(
1498
+ *_param,
1499
+ _request_timeout=_request_timeout
1500
+ )
1501
+ return response_data.response
1502
+
1503
+
1504
+ def _ses_inbound_webhook_serialize(
1505
+ self,
1506
+ _request_auth,
1507
+ _content_type,
1508
+ _headers,
1509
+ _host_index,
1510
+ ) -> RequestSerialized:
1511
+
1512
+ _host = None
1513
+
1514
+ _collection_formats: Dict[str, str] = {
1515
+ }
1516
+
1517
+ _path_params: Dict[str, str] = {}
1518
+ _query_params: List[Tuple[str, str]] = []
1519
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1520
+ _form_params: List[Tuple[str, str]] = []
1521
+ _files: Dict[
1522
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1523
+ ] = {}
1524
+ _body_params: Optional[bytes] = None
1525
+
1526
+ # process the path parameters
1527
+ # process the query parameters
1528
+ # process the header parameters
1529
+ # process the form parameters
1530
+ # process the body parameter
1531
+
1532
+
1533
+ # set the HTTP header `Accept`
1534
+ if 'Accept' not in _header_params:
1535
+ _header_params['Accept'] = self.api_client.select_header_accept(
1536
+ [
1537
+ 'application/json'
1538
+ ]
1539
+ )
1540
+
1541
+
1542
+ # authentication setting
1543
+ _auth_settings: List[str] = [
1544
+ ]
1545
+
1546
+ return self.api_client.param_serialize(
1547
+ method='POST',
1548
+ resource_path='/v1/arc/webhooks/inbound/ses',
1549
+ path_params=_path_params,
1550
+ query_params=_query_params,
1551
+ header_params=_header_params,
1552
+ body=_body_params,
1553
+ post_params=_form_params,
1554
+ files=_files,
1555
+ auth_settings=_auth_settings,
1556
+ collection_formats=_collection_formats,
1557
+ _host=_host,
1558
+ _request_auth=_request_auth
1559
+ )
1560
+
1561
+
1562
+
1563
+
1564
+ @validate_call
1565
+ def stripe_webhook_post(
1566
+ self,
1567
+ stripe_signature: Optional[StrictStr] = None,
1568
+ _request_timeout: Union[
1569
+ None,
1570
+ Annotated[StrictFloat, Field(gt=0)],
1571
+ Tuple[
1572
+ Annotated[StrictFloat, Field(gt=0)],
1573
+ Annotated[StrictFloat, Field(gt=0)]
1574
+ ]
1575
+ ] = None,
1576
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1577
+ _content_type: Optional[StrictStr] = None,
1578
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1579
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1580
+ ) -> object:
1581
+ """Stripe Webhook
1582
+
1583
+ Handle Stripe payment webhooks. T9: Signature verified first.
1584
+
1585
+ :param stripe_signature:
1586
+ :type stripe_signature: str
1587
+ :param _request_timeout: timeout setting for this request. If one
1588
+ number provided, it will be total request
1589
+ timeout. It can also be a pair (tuple) of
1590
+ (connection, read) timeouts.
1591
+ :type _request_timeout: int, tuple(int, int), optional
1592
+ :param _request_auth: set to override the auth_settings for an a single
1593
+ request; this effectively ignores the
1594
+ authentication in the spec for a single request.
1595
+ :type _request_auth: dict, optional
1596
+ :param _content_type: force content-type for the request.
1597
+ :type _content_type: str, Optional
1598
+ :param _headers: set to override the headers for a single
1599
+ request; this effectively ignores the headers
1600
+ in the spec for a single request.
1601
+ :type _headers: dict, optional
1602
+ :param _host_index: set to override the host_index for a single
1603
+ request; this effectively ignores the host_index
1604
+ in the spec for a single request.
1605
+ :type _host_index: int, optional
1606
+ :return: Returns the result object.
1607
+ """ # noqa: E501
1608
+
1609
+ _param = self._stripe_webhook_post_serialize(
1610
+ stripe_signature=stripe_signature,
1611
+ _request_auth=_request_auth,
1612
+ _content_type=_content_type,
1613
+ _headers=_headers,
1614
+ _host_index=_host_index
1615
+ )
1616
+
1617
+ _response_types_map: Dict[str, Optional[str]] = {
1618
+ '200': "object",
1619
+ '422': "ArcHTTPValidationError",
1620
+ }
1621
+ response_data = self.api_client.call_api(
1622
+ *_param,
1623
+ _request_timeout=_request_timeout
1624
+ )
1625
+ response_data.read()
1626
+ return self.api_client.response_deserialize(
1627
+ response_data=response_data,
1628
+ response_types_map=_response_types_map,
1629
+ ).data
1630
+
1631
+
1632
+ @validate_call
1633
+ def stripe_webhook_post_with_http_info(
1634
+ self,
1635
+ stripe_signature: Optional[StrictStr] = None,
1636
+ _request_timeout: Union[
1637
+ None,
1638
+ Annotated[StrictFloat, Field(gt=0)],
1639
+ Tuple[
1640
+ Annotated[StrictFloat, Field(gt=0)],
1641
+ Annotated[StrictFloat, Field(gt=0)]
1642
+ ]
1643
+ ] = None,
1644
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1645
+ _content_type: Optional[StrictStr] = None,
1646
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1647
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1648
+ ) -> ApiResponse[object]:
1649
+ """Stripe Webhook
1650
+
1651
+ Handle Stripe payment webhooks. T9: Signature verified first.
1652
+
1653
+ :param stripe_signature:
1654
+ :type stripe_signature: str
1655
+ :param _request_timeout: timeout setting for this request. If one
1656
+ number provided, it will be total request
1657
+ timeout. It can also be a pair (tuple) of
1658
+ (connection, read) timeouts.
1659
+ :type _request_timeout: int, tuple(int, int), optional
1660
+ :param _request_auth: set to override the auth_settings for an a single
1661
+ request; this effectively ignores the
1662
+ authentication in the spec for a single request.
1663
+ :type _request_auth: dict, optional
1664
+ :param _content_type: force content-type for the request.
1665
+ :type _content_type: str, Optional
1666
+ :param _headers: set to override the headers for a single
1667
+ request; this effectively ignores the headers
1668
+ in the spec for a single request.
1669
+ :type _headers: dict, optional
1670
+ :param _host_index: set to override the host_index for a single
1671
+ request; this effectively ignores the host_index
1672
+ in the spec for a single request.
1673
+ :type _host_index: int, optional
1674
+ :return: Returns the result object.
1675
+ """ # noqa: E501
1676
+
1677
+ _param = self._stripe_webhook_post_serialize(
1678
+ stripe_signature=stripe_signature,
1679
+ _request_auth=_request_auth,
1680
+ _content_type=_content_type,
1681
+ _headers=_headers,
1682
+ _host_index=_host_index
1683
+ )
1684
+
1685
+ _response_types_map: Dict[str, Optional[str]] = {
1686
+ '200': "object",
1687
+ '422': "ArcHTTPValidationError",
1688
+ }
1689
+ response_data = self.api_client.call_api(
1690
+ *_param,
1691
+ _request_timeout=_request_timeout
1692
+ )
1693
+ response_data.read()
1694
+ return self.api_client.response_deserialize(
1695
+ response_data=response_data,
1696
+ response_types_map=_response_types_map,
1697
+ )
1698
+
1699
+
1700
+ @validate_call
1701
+ def stripe_webhook_post_without_preload_content(
1702
+ self,
1703
+ stripe_signature: Optional[StrictStr] = None,
1704
+ _request_timeout: Union[
1705
+ None,
1706
+ Annotated[StrictFloat, Field(gt=0)],
1707
+ Tuple[
1708
+ Annotated[StrictFloat, Field(gt=0)],
1709
+ Annotated[StrictFloat, Field(gt=0)]
1710
+ ]
1711
+ ] = None,
1712
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1713
+ _content_type: Optional[StrictStr] = None,
1714
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1715
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1716
+ ) -> RESTResponseType:
1717
+ """Stripe Webhook
1718
+
1719
+ Handle Stripe payment webhooks. T9: Signature verified first.
1720
+
1721
+ :param stripe_signature:
1722
+ :type stripe_signature: str
1723
+ :param _request_timeout: timeout setting for this request. If one
1724
+ number provided, it will be total request
1725
+ timeout. It can also be a pair (tuple) of
1726
+ (connection, read) timeouts.
1727
+ :type _request_timeout: int, tuple(int, int), optional
1728
+ :param _request_auth: set to override the auth_settings for an a single
1729
+ request; this effectively ignores the
1730
+ authentication in the spec for a single request.
1731
+ :type _request_auth: dict, optional
1732
+ :param _content_type: force content-type for the request.
1733
+ :type _content_type: str, Optional
1734
+ :param _headers: set to override the headers for a single
1735
+ request; this effectively ignores the headers
1736
+ in the spec for a single request.
1737
+ :type _headers: dict, optional
1738
+ :param _host_index: set to override the host_index for a single
1739
+ request; this effectively ignores the host_index
1740
+ in the spec for a single request.
1741
+ :type _host_index: int, optional
1742
+ :return: Returns the result object.
1743
+ """ # noqa: E501
1744
+
1745
+ _param = self._stripe_webhook_post_serialize(
1746
+ stripe_signature=stripe_signature,
1747
+ _request_auth=_request_auth,
1748
+ _content_type=_content_type,
1749
+ _headers=_headers,
1750
+ _host_index=_host_index
1751
+ )
1752
+
1753
+ _response_types_map: Dict[str, Optional[str]] = {
1754
+ '200': "object",
1755
+ '422': "ArcHTTPValidationError",
1756
+ }
1757
+ response_data = self.api_client.call_api(
1758
+ *_param,
1759
+ _request_timeout=_request_timeout
1760
+ )
1761
+ return response_data.response
1762
+
1763
+
1764
+ def _stripe_webhook_post_serialize(
1765
+ self,
1766
+ stripe_signature,
1767
+ _request_auth,
1768
+ _content_type,
1769
+ _headers,
1770
+ _host_index,
1771
+ ) -> RequestSerialized:
1772
+
1773
+ _host = None
1774
+
1775
+ _collection_formats: Dict[str, str] = {
1776
+ }
1777
+
1778
+ _path_params: Dict[str, str] = {}
1779
+ _query_params: List[Tuple[str, str]] = []
1780
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1781
+ _form_params: List[Tuple[str, str]] = []
1782
+ _files: Dict[
1783
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1784
+ ] = {}
1785
+ _body_params: Optional[bytes] = None
1786
+
1787
+ # process the path parameters
1788
+ # process the query parameters
1789
+ # process the header parameters
1790
+ if stripe_signature is not None:
1791
+ _header_params['Stripe-Signature'] = stripe_signature
1792
+ # process the form parameters
1793
+ # process the body parameter
1794
+
1795
+
1796
+ # set the HTTP header `Accept`
1797
+ if 'Accept' not in _header_params:
1798
+ _header_params['Accept'] = self.api_client.select_header_accept(
1799
+ [
1800
+ 'application/json'
1801
+ ]
1802
+ )
1803
+
1804
+
1805
+ # authentication setting
1806
+ _auth_settings: List[str] = [
1807
+ ]
1808
+
1809
+ return self.api_client.param_serialize(
1810
+ method='POST',
1811
+ resource_path='/v1/arc/webhooks/stripe',
1812
+ path_params=_path_params,
1813
+ query_params=_query_params,
1814
+ header_params=_header_params,
1815
+ body=_body_params,
1816
+ post_params=_form_params,
1817
+ files=_files,
1818
+ auth_settings=_auth_settings,
1819
+ collection_formats=_collection_formats,
1820
+ _host=_host,
1821
+ _request_auth=_request_auth
1822
+ )
1823
+
1824
+
1825
+
1826
+
1827
+ @validate_call
1828
+ def twilio_webhook(
1829
+ self,
1830
+ x_twilio_signature: Optional[StrictStr] = None,
1831
+ _request_timeout: Union[
1832
+ None,
1833
+ Annotated[StrictFloat, Field(gt=0)],
1834
+ Tuple[
1835
+ Annotated[StrictFloat, Field(gt=0)],
1836
+ Annotated[StrictFloat, Field(gt=0)]
1837
+ ]
1838
+ ] = None,
1839
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1840
+ _content_type: Optional[StrictStr] = None,
1841
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1842
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1843
+ ) -> object:
1844
+ """Twilio Webhook
1845
+
1846
+ Handle Twilio SMS status webhooks.
1847
+
1848
+ :param x_twilio_signature:
1849
+ :type x_twilio_signature: str
1850
+ :param _request_timeout: timeout setting for this request. If one
1851
+ number provided, it will be total request
1852
+ timeout. It can also be a pair (tuple) of
1853
+ (connection, read) timeouts.
1854
+ :type _request_timeout: int, tuple(int, int), optional
1855
+ :param _request_auth: set to override the auth_settings for an a single
1856
+ request; this effectively ignores the
1857
+ authentication in the spec for a single request.
1858
+ :type _request_auth: dict, optional
1859
+ :param _content_type: force content-type for the request.
1860
+ :type _content_type: str, Optional
1861
+ :param _headers: set to override the headers for a single
1862
+ request; this effectively ignores the headers
1863
+ in the spec for a single request.
1864
+ :type _headers: dict, optional
1865
+ :param _host_index: set to override the host_index for a single
1866
+ request; this effectively ignores the host_index
1867
+ in the spec for a single request.
1868
+ :type _host_index: int, optional
1869
+ :return: Returns the result object.
1870
+ """ # noqa: E501
1871
+
1872
+ _param = self._twilio_webhook_serialize(
1873
+ x_twilio_signature=x_twilio_signature,
1874
+ _request_auth=_request_auth,
1875
+ _content_type=_content_type,
1876
+ _headers=_headers,
1877
+ _host_index=_host_index
1878
+ )
1879
+
1880
+ _response_types_map: Dict[str, Optional[str]] = {
1881
+ '200': "object",
1882
+ '422': "ArcHTTPValidationError",
1883
+ }
1884
+ response_data = self.api_client.call_api(
1885
+ *_param,
1886
+ _request_timeout=_request_timeout
1887
+ )
1888
+ response_data.read()
1889
+ return self.api_client.response_deserialize(
1890
+ response_data=response_data,
1891
+ response_types_map=_response_types_map,
1892
+ ).data
1893
+
1894
+
1895
+ @validate_call
1896
+ def twilio_webhook_with_http_info(
1897
+ self,
1898
+ x_twilio_signature: Optional[StrictStr] = None,
1899
+ _request_timeout: Union[
1900
+ None,
1901
+ Annotated[StrictFloat, Field(gt=0)],
1902
+ Tuple[
1903
+ Annotated[StrictFloat, Field(gt=0)],
1904
+ Annotated[StrictFloat, Field(gt=0)]
1905
+ ]
1906
+ ] = None,
1907
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1908
+ _content_type: Optional[StrictStr] = None,
1909
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1910
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1911
+ ) -> ApiResponse[object]:
1912
+ """Twilio Webhook
1913
+
1914
+ Handle Twilio SMS status webhooks.
1915
+
1916
+ :param x_twilio_signature:
1917
+ :type x_twilio_signature: str
1918
+ :param _request_timeout: timeout setting for this request. If one
1919
+ number provided, it will be total request
1920
+ timeout. It can also be a pair (tuple) of
1921
+ (connection, read) timeouts.
1922
+ :type _request_timeout: int, tuple(int, int), optional
1923
+ :param _request_auth: set to override the auth_settings for an a single
1924
+ request; this effectively ignores the
1925
+ authentication in the spec for a single request.
1926
+ :type _request_auth: dict, optional
1927
+ :param _content_type: force content-type for the request.
1928
+ :type _content_type: str, Optional
1929
+ :param _headers: set to override the headers for a single
1930
+ request; this effectively ignores the headers
1931
+ in the spec for a single request.
1932
+ :type _headers: dict, optional
1933
+ :param _host_index: set to override the host_index for a single
1934
+ request; this effectively ignores the host_index
1935
+ in the spec for a single request.
1936
+ :type _host_index: int, optional
1937
+ :return: Returns the result object.
1938
+ """ # noqa: E501
1939
+
1940
+ _param = self._twilio_webhook_serialize(
1941
+ x_twilio_signature=x_twilio_signature,
1942
+ _request_auth=_request_auth,
1943
+ _content_type=_content_type,
1944
+ _headers=_headers,
1945
+ _host_index=_host_index
1946
+ )
1947
+
1948
+ _response_types_map: Dict[str, Optional[str]] = {
1949
+ '200': "object",
1950
+ '422': "ArcHTTPValidationError",
1951
+ }
1952
+ response_data = self.api_client.call_api(
1953
+ *_param,
1954
+ _request_timeout=_request_timeout
1955
+ )
1956
+ response_data.read()
1957
+ return self.api_client.response_deserialize(
1958
+ response_data=response_data,
1959
+ response_types_map=_response_types_map,
1960
+ )
1961
+
1962
+
1963
+ @validate_call
1964
+ def twilio_webhook_without_preload_content(
1965
+ self,
1966
+ x_twilio_signature: Optional[StrictStr] = None,
1967
+ _request_timeout: Union[
1968
+ None,
1969
+ Annotated[StrictFloat, Field(gt=0)],
1970
+ Tuple[
1971
+ Annotated[StrictFloat, Field(gt=0)],
1972
+ Annotated[StrictFloat, Field(gt=0)]
1973
+ ]
1974
+ ] = None,
1975
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1976
+ _content_type: Optional[StrictStr] = None,
1977
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1978
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1979
+ ) -> RESTResponseType:
1980
+ """Twilio Webhook
1981
+
1982
+ Handle Twilio SMS status webhooks.
1983
+
1984
+ :param x_twilio_signature:
1985
+ :type x_twilio_signature: str
1986
+ :param _request_timeout: timeout setting for this request. If one
1987
+ number provided, it will be total request
1988
+ timeout. It can also be a pair (tuple) of
1989
+ (connection, read) timeouts.
1990
+ :type _request_timeout: int, tuple(int, int), optional
1991
+ :param _request_auth: set to override the auth_settings for an a single
1992
+ request; this effectively ignores the
1993
+ authentication in the spec for a single request.
1994
+ :type _request_auth: dict, optional
1995
+ :param _content_type: force content-type for the request.
1996
+ :type _content_type: str, Optional
1997
+ :param _headers: set to override the headers for a single
1998
+ request; this effectively ignores the headers
1999
+ in the spec for a single request.
2000
+ :type _headers: dict, optional
2001
+ :param _host_index: set to override the host_index for a single
2002
+ request; this effectively ignores the host_index
2003
+ in the spec for a single request.
2004
+ :type _host_index: int, optional
2005
+ :return: Returns the result object.
2006
+ """ # noqa: E501
2007
+
2008
+ _param = self._twilio_webhook_serialize(
2009
+ x_twilio_signature=x_twilio_signature,
2010
+ _request_auth=_request_auth,
2011
+ _content_type=_content_type,
2012
+ _headers=_headers,
2013
+ _host_index=_host_index
2014
+ )
2015
+
2016
+ _response_types_map: Dict[str, Optional[str]] = {
2017
+ '200': "object",
2018
+ '422': "ArcHTTPValidationError",
2019
+ }
2020
+ response_data = self.api_client.call_api(
2021
+ *_param,
2022
+ _request_timeout=_request_timeout
2023
+ )
2024
+ return response_data.response
2025
+
2026
+
2027
+ def _twilio_webhook_serialize(
2028
+ self,
2029
+ x_twilio_signature,
2030
+ _request_auth,
2031
+ _content_type,
2032
+ _headers,
2033
+ _host_index,
2034
+ ) -> RequestSerialized:
2035
+
2036
+ _host = None
2037
+
2038
+ _collection_formats: Dict[str, str] = {
2039
+ }
2040
+
2041
+ _path_params: Dict[str, str] = {}
2042
+ _query_params: List[Tuple[str, str]] = []
2043
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2044
+ _form_params: List[Tuple[str, str]] = []
2045
+ _files: Dict[
2046
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2047
+ ] = {}
2048
+ _body_params: Optional[bytes] = None
2049
+
2050
+ # process the path parameters
2051
+ # process the query parameters
2052
+ # process the header parameters
2053
+ if x_twilio_signature is not None:
2054
+ _header_params['X-Twilio-Signature'] = x_twilio_signature
2055
+ # process the form parameters
2056
+ # process the body parameter
2057
+
2058
+
2059
+ # set the HTTP header `Accept`
2060
+ if 'Accept' not in _header_params:
2061
+ _header_params['Accept'] = self.api_client.select_header_accept(
2062
+ [
2063
+ 'application/json'
2064
+ ]
2065
+ )
2066
+
2067
+
2068
+ # authentication setting
2069
+ _auth_settings: List[str] = [
2070
+ ]
2071
+
2072
+ return self.api_client.param_serialize(
2073
+ method='POST',
2074
+ resource_path='/v1/arc/webhooks/twilio',
2075
+ path_params=_path_params,
2076
+ query_params=_query_params,
2077
+ header_params=_header_params,
2078
+ body=_body_params,
2079
+ post_params=_form_params,
2080
+ files=_files,
2081
+ auth_settings=_auth_settings,
2082
+ collection_formats=_collection_formats,
2083
+ _host=_host,
2084
+ _request_auth=_request_auth
2085
+ )
2086
+
2087
+