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,2785 @@
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 Field, StrictBytes, StrictStr
20
+ from typing import Any, Dict, List, Optional, Tuple, Union
21
+ from typing_extensions import Annotated
22
+ from moolabs.models.audit_request import AuditRequest
23
+ from moolabs.models.clause_pack import ClausePack
24
+ from moolabs.models.dismiss_refinement_request import DismissRefinementRequest
25
+ from moolabs.models.quick_redline_response import QuickRedlineResponse
26
+ from moolabs.models.ratify_family_request import RatifyFamilyRequest
27
+ from moolabs.models.ratify_refinement_request import RatifyRefinementRequest
28
+
29
+ from moolabs.api_client import ApiClient, RequestSerialized
30
+ from moolabs.api_response import ApiResponse
31
+ from moolabs.rest import RESTResponseType
32
+
33
+
34
+ class ClausePacksApi:
35
+ """NOTE: This class is auto generated by OpenAPI Generator
36
+ Ref: https://openapi-generator.tech
37
+
38
+ Do not edit the class manually.
39
+ """
40
+
41
+ def __init__(self, api_client=None) -> None:
42
+ if api_client is None:
43
+ api_client = ApiClient.get_default()
44
+ self.api_client = api_client
45
+
46
+
47
+ @validate_call
48
+ def dismiss_refinement_endpoint_v1_clause(
49
+ self,
50
+ dismiss_refinement_request: DismissRefinementRequest,
51
+ _request_timeout: Union[
52
+ None,
53
+ Annotated[StrictFloat, Field(gt=0)],
54
+ Tuple[
55
+ Annotated[StrictFloat, Field(gt=0)],
56
+ Annotated[StrictFloat, Field(gt=0)]
57
+ ]
58
+ ] = None,
59
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
60
+ _content_type: Optional[StrictStr] = None,
61
+ _headers: Optional[Dict[StrictStr, Any]] = None,
62
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
63
+ ) -> object:
64
+ """Dismiss Refinement Endpoint
65
+
66
+ Mark a proposed refinement as 'dismissed' (tenant-scoped; 404 if not found). Returns 204 No Content on success.
67
+
68
+ :param dismiss_refinement_request: (required)
69
+ :type dismiss_refinement_request: DismissRefinementRequest
70
+ :param _request_timeout: timeout setting for this request. If one
71
+ number provided, it will be total request
72
+ timeout. It can also be a pair (tuple) of
73
+ (connection, read) timeouts.
74
+ :type _request_timeout: int, tuple(int, int), optional
75
+ :param _request_auth: set to override the auth_settings for an a single
76
+ request; this effectively ignores the
77
+ authentication in the spec for a single request.
78
+ :type _request_auth: dict, optional
79
+ :param _content_type: force content-type for the request.
80
+ :type _content_type: str, Optional
81
+ :param _headers: set to override the headers for a single
82
+ request; this effectively ignores the headers
83
+ in the spec for a single request.
84
+ :type _headers: dict, optional
85
+ :param _host_index: set to override the host_index for a single
86
+ request; this effectively ignores the host_index
87
+ in the spec for a single request.
88
+ :type _host_index: int, optional
89
+ :return: Returns the result object.
90
+ """ # noqa: E501
91
+
92
+ _param = self._dismiss_refinement_endpoint_v1_clause_serialize(
93
+ dismiss_refinement_request=dismiss_refinement_request,
94
+ _request_auth=_request_auth,
95
+ _content_type=_content_type,
96
+ _headers=_headers,
97
+ _host_index=_host_index
98
+ )
99
+
100
+ _response_types_map: Dict[str, Optional[str]] = {
101
+ '200': "object",
102
+ '422': "HTTPValidationError",
103
+ }
104
+ response_data = self.api_client.call_api(
105
+ *_param,
106
+ _request_timeout=_request_timeout
107
+ )
108
+ response_data.read()
109
+ return self.api_client.response_deserialize(
110
+ response_data=response_data,
111
+ response_types_map=_response_types_map,
112
+ ).data
113
+
114
+
115
+ @validate_call
116
+ def dismiss_refinement_endpoint_v1_clause_with_http_info(
117
+ self,
118
+ dismiss_refinement_request: DismissRefinementRequest,
119
+ _request_timeout: Union[
120
+ None,
121
+ Annotated[StrictFloat, Field(gt=0)],
122
+ Tuple[
123
+ Annotated[StrictFloat, Field(gt=0)],
124
+ Annotated[StrictFloat, Field(gt=0)]
125
+ ]
126
+ ] = None,
127
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
128
+ _content_type: Optional[StrictStr] = None,
129
+ _headers: Optional[Dict[StrictStr, Any]] = None,
130
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
131
+ ) -> ApiResponse[object]:
132
+ """Dismiss Refinement Endpoint
133
+
134
+ Mark a proposed refinement as 'dismissed' (tenant-scoped; 404 if not found). Returns 204 No Content on success.
135
+
136
+ :param dismiss_refinement_request: (required)
137
+ :type dismiss_refinement_request: DismissRefinementRequest
138
+ :param _request_timeout: timeout setting for this request. If one
139
+ number provided, it will be total request
140
+ timeout. It can also be a pair (tuple) of
141
+ (connection, read) timeouts.
142
+ :type _request_timeout: int, tuple(int, int), optional
143
+ :param _request_auth: set to override the auth_settings for an a single
144
+ request; this effectively ignores the
145
+ authentication in the spec for a single request.
146
+ :type _request_auth: dict, optional
147
+ :param _content_type: force content-type for the request.
148
+ :type _content_type: str, Optional
149
+ :param _headers: set to override the headers for a single
150
+ request; this effectively ignores the headers
151
+ in the spec for a single request.
152
+ :type _headers: dict, optional
153
+ :param _host_index: set to override the host_index for a single
154
+ request; this effectively ignores the host_index
155
+ in the spec for a single request.
156
+ :type _host_index: int, optional
157
+ :return: Returns the result object.
158
+ """ # noqa: E501
159
+
160
+ _param = self._dismiss_refinement_endpoint_v1_clause_serialize(
161
+ dismiss_refinement_request=dismiss_refinement_request,
162
+ _request_auth=_request_auth,
163
+ _content_type=_content_type,
164
+ _headers=_headers,
165
+ _host_index=_host_index
166
+ )
167
+
168
+ _response_types_map: Dict[str, Optional[str]] = {
169
+ '200': "object",
170
+ '422': "HTTPValidationError",
171
+ }
172
+ response_data = self.api_client.call_api(
173
+ *_param,
174
+ _request_timeout=_request_timeout
175
+ )
176
+ response_data.read()
177
+ return self.api_client.response_deserialize(
178
+ response_data=response_data,
179
+ response_types_map=_response_types_map,
180
+ )
181
+
182
+
183
+ @validate_call
184
+ def dismiss_refinement_endpoint_v1_clause_without_preload_content(
185
+ self,
186
+ dismiss_refinement_request: DismissRefinementRequest,
187
+ _request_timeout: Union[
188
+ None,
189
+ Annotated[StrictFloat, Field(gt=0)],
190
+ Tuple[
191
+ Annotated[StrictFloat, Field(gt=0)],
192
+ Annotated[StrictFloat, Field(gt=0)]
193
+ ]
194
+ ] = None,
195
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
196
+ _content_type: Optional[StrictStr] = None,
197
+ _headers: Optional[Dict[StrictStr, Any]] = None,
198
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
199
+ ) -> RESTResponseType:
200
+ """Dismiss Refinement Endpoint
201
+
202
+ Mark a proposed refinement as 'dismissed' (tenant-scoped; 404 if not found). Returns 204 No Content on success.
203
+
204
+ :param dismiss_refinement_request: (required)
205
+ :type dismiss_refinement_request: DismissRefinementRequest
206
+ :param _request_timeout: timeout setting for this request. If one
207
+ number provided, it will be total request
208
+ timeout. It can also be a pair (tuple) of
209
+ (connection, read) timeouts.
210
+ :type _request_timeout: int, tuple(int, int), optional
211
+ :param _request_auth: set to override the auth_settings for an a single
212
+ request; this effectively ignores the
213
+ authentication in the spec for a single request.
214
+ :type _request_auth: dict, optional
215
+ :param _content_type: force content-type for the request.
216
+ :type _content_type: str, Optional
217
+ :param _headers: set to override the headers for a single
218
+ request; this effectively ignores the headers
219
+ in the spec for a single request.
220
+ :type _headers: dict, optional
221
+ :param _host_index: set to override the host_index for a single
222
+ request; this effectively ignores the host_index
223
+ in the spec for a single request.
224
+ :type _host_index: int, optional
225
+ :return: Returns the result object.
226
+ """ # noqa: E501
227
+
228
+ _param = self._dismiss_refinement_endpoint_v1_clause_serialize(
229
+ dismiss_refinement_request=dismiss_refinement_request,
230
+ _request_auth=_request_auth,
231
+ _content_type=_content_type,
232
+ _headers=_headers,
233
+ _host_index=_host_index
234
+ )
235
+
236
+ _response_types_map: Dict[str, Optional[str]] = {
237
+ '200': "object",
238
+ '422': "HTTPValidationError",
239
+ }
240
+ response_data = self.api_client.call_api(
241
+ *_param,
242
+ _request_timeout=_request_timeout
243
+ )
244
+ return response_data.response
245
+
246
+
247
+ def _dismiss_refinement_endpoint_v1_clause_serialize(
248
+ self,
249
+ dismiss_refinement_request,
250
+ _request_auth,
251
+ _content_type,
252
+ _headers,
253
+ _host_index,
254
+ ) -> RequestSerialized:
255
+
256
+ _host = None
257
+
258
+ _collection_formats: Dict[str, str] = {
259
+ }
260
+
261
+ _path_params: Dict[str, str] = {}
262
+ _query_params: List[Tuple[str, str]] = []
263
+ _header_params: Dict[str, Optional[str]] = _headers or {}
264
+ _form_params: List[Tuple[str, str]] = []
265
+ _files: Dict[
266
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
267
+ ] = {}
268
+ _body_params: Optional[bytes] = None
269
+
270
+ # process the path parameters
271
+ # process the query parameters
272
+ # process the header parameters
273
+ # process the form parameters
274
+ # process the body parameter
275
+ if dismiss_refinement_request is not None:
276
+ _body_params = dismiss_refinement_request
277
+
278
+
279
+ # set the HTTP header `Accept`
280
+ if 'Accept' not in _header_params:
281
+ _header_params['Accept'] = self.api_client.select_header_accept(
282
+ [
283
+ 'application/json'
284
+ ]
285
+ )
286
+
287
+ # set the HTTP header `Content-Type`
288
+ if _content_type:
289
+ _header_params['Content-Type'] = _content_type
290
+ else:
291
+ _default_content_type = (
292
+ self.api_client.select_header_content_type(
293
+ [
294
+ 'application/json'
295
+ ]
296
+ )
297
+ )
298
+ if _default_content_type is not None:
299
+ _header_params['Content-Type'] = _default_content_type
300
+
301
+ # authentication setting
302
+ _auth_settings: List[str] = [
303
+ 'HTTPBearer'
304
+ ]
305
+
306
+ return self.api_client.param_serialize(
307
+ method='POST',
308
+ resource_path='/v1/clause-packs/dismiss-refinement',
309
+ path_params=_path_params,
310
+ query_params=_query_params,
311
+ header_params=_header_params,
312
+ body=_body_params,
313
+ post_params=_form_params,
314
+ files=_files,
315
+ auth_settings=_auth_settings,
316
+ collection_formats=_collection_formats,
317
+ _host=_host,
318
+ _request_auth=_request_auth
319
+ )
320
+
321
+
322
+
323
+
324
+ @validate_call
325
+ def fork_pack_endpoint_v1(
326
+ self,
327
+ industry_vertical: Annotated[StrictStr, Field(description="Industry vertical to fork")],
328
+ _request_timeout: Union[
329
+ None,
330
+ Annotated[StrictFloat, Field(gt=0)],
331
+ Tuple[
332
+ Annotated[StrictFloat, Field(gt=0)],
333
+ Annotated[StrictFloat, Field(gt=0)]
334
+ ]
335
+ ] = None,
336
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
337
+ _content_type: Optional[StrictStr] = None,
338
+ _headers: Optional[Dict[StrictStr, Any]] = None,
339
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
340
+ ) -> ClausePack:
341
+ """Fork Pack Endpoint
342
+
343
+ Fork the industry pack into a tenant draft playbook (idempotent).
344
+
345
+ :param industry_vertical: Industry vertical to fork (required)
346
+ :type industry_vertical: str
347
+ :param _request_timeout: timeout setting for this request. If one
348
+ number provided, it will be total request
349
+ timeout. It can also be a pair (tuple) of
350
+ (connection, read) timeouts.
351
+ :type _request_timeout: int, tuple(int, int), optional
352
+ :param _request_auth: set to override the auth_settings for an a single
353
+ request; this effectively ignores the
354
+ authentication in the spec for a single request.
355
+ :type _request_auth: dict, optional
356
+ :param _content_type: force content-type for the request.
357
+ :type _content_type: str, Optional
358
+ :param _headers: set to override the headers for a single
359
+ request; this effectively ignores the headers
360
+ in the spec for a single request.
361
+ :type _headers: dict, optional
362
+ :param _host_index: set to override the host_index for a single
363
+ request; this effectively ignores the host_index
364
+ in the spec for a single request.
365
+ :type _host_index: int, optional
366
+ :return: Returns the result object.
367
+ """ # noqa: E501
368
+
369
+ _param = self._fork_pack_endpoint_v1_serialize(
370
+ industry_vertical=industry_vertical,
371
+ _request_auth=_request_auth,
372
+ _content_type=_content_type,
373
+ _headers=_headers,
374
+ _host_index=_host_index
375
+ )
376
+
377
+ _response_types_map: Dict[str, Optional[str]] = {
378
+ '200': "ClausePack",
379
+ '422': "HTTPValidationError",
380
+ }
381
+ response_data = self.api_client.call_api(
382
+ *_param,
383
+ _request_timeout=_request_timeout
384
+ )
385
+ response_data.read()
386
+ return self.api_client.response_deserialize(
387
+ response_data=response_data,
388
+ response_types_map=_response_types_map,
389
+ ).data
390
+
391
+
392
+ @validate_call
393
+ def fork_pack_endpoint_v1_with_http_info(
394
+ self,
395
+ industry_vertical: Annotated[StrictStr, Field(description="Industry vertical to fork")],
396
+ _request_timeout: Union[
397
+ None,
398
+ Annotated[StrictFloat, Field(gt=0)],
399
+ Tuple[
400
+ Annotated[StrictFloat, Field(gt=0)],
401
+ Annotated[StrictFloat, Field(gt=0)]
402
+ ]
403
+ ] = None,
404
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
405
+ _content_type: Optional[StrictStr] = None,
406
+ _headers: Optional[Dict[StrictStr, Any]] = None,
407
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
408
+ ) -> ApiResponse[ClausePack]:
409
+ """Fork Pack Endpoint
410
+
411
+ Fork the industry pack into a tenant draft playbook (idempotent).
412
+
413
+ :param industry_vertical: Industry vertical to fork (required)
414
+ :type industry_vertical: str
415
+ :param _request_timeout: timeout setting for this request. If one
416
+ number provided, it will be total request
417
+ timeout. It can also be a pair (tuple) of
418
+ (connection, read) timeouts.
419
+ :type _request_timeout: int, tuple(int, int), optional
420
+ :param _request_auth: set to override the auth_settings for an a single
421
+ request; this effectively ignores the
422
+ authentication in the spec for a single request.
423
+ :type _request_auth: dict, optional
424
+ :param _content_type: force content-type for the request.
425
+ :type _content_type: str, Optional
426
+ :param _headers: set to override the headers for a single
427
+ request; this effectively ignores the headers
428
+ in the spec for a single request.
429
+ :type _headers: dict, optional
430
+ :param _host_index: set to override the host_index for a single
431
+ request; this effectively ignores the host_index
432
+ in the spec for a single request.
433
+ :type _host_index: int, optional
434
+ :return: Returns the result object.
435
+ """ # noqa: E501
436
+
437
+ _param = self._fork_pack_endpoint_v1_serialize(
438
+ industry_vertical=industry_vertical,
439
+ _request_auth=_request_auth,
440
+ _content_type=_content_type,
441
+ _headers=_headers,
442
+ _host_index=_host_index
443
+ )
444
+
445
+ _response_types_map: Dict[str, Optional[str]] = {
446
+ '200': "ClausePack",
447
+ '422': "HTTPValidationError",
448
+ }
449
+ response_data = self.api_client.call_api(
450
+ *_param,
451
+ _request_timeout=_request_timeout
452
+ )
453
+ response_data.read()
454
+ return self.api_client.response_deserialize(
455
+ response_data=response_data,
456
+ response_types_map=_response_types_map,
457
+ )
458
+
459
+
460
+ @validate_call
461
+ def fork_pack_endpoint_v1_without_preload_content(
462
+ self,
463
+ industry_vertical: Annotated[StrictStr, Field(description="Industry vertical to fork")],
464
+ _request_timeout: Union[
465
+ None,
466
+ Annotated[StrictFloat, Field(gt=0)],
467
+ Tuple[
468
+ Annotated[StrictFloat, Field(gt=0)],
469
+ Annotated[StrictFloat, Field(gt=0)]
470
+ ]
471
+ ] = None,
472
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
473
+ _content_type: Optional[StrictStr] = None,
474
+ _headers: Optional[Dict[StrictStr, Any]] = None,
475
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
476
+ ) -> RESTResponseType:
477
+ """Fork Pack Endpoint
478
+
479
+ Fork the industry pack into a tenant draft playbook (idempotent).
480
+
481
+ :param industry_vertical: Industry vertical to fork (required)
482
+ :type industry_vertical: str
483
+ :param _request_timeout: timeout setting for this request. If one
484
+ number provided, it will be total request
485
+ timeout. It can also be a pair (tuple) of
486
+ (connection, read) timeouts.
487
+ :type _request_timeout: int, tuple(int, int), optional
488
+ :param _request_auth: set to override the auth_settings for an a single
489
+ request; this effectively ignores the
490
+ authentication in the spec for a single request.
491
+ :type _request_auth: dict, optional
492
+ :param _content_type: force content-type for the request.
493
+ :type _content_type: str, Optional
494
+ :param _headers: set to override the headers for a single
495
+ request; this effectively ignores the headers
496
+ in the spec for a single request.
497
+ :type _headers: dict, optional
498
+ :param _host_index: set to override the host_index for a single
499
+ request; this effectively ignores the host_index
500
+ in the spec for a single request.
501
+ :type _host_index: int, optional
502
+ :return: Returns the result object.
503
+ """ # noqa: E501
504
+
505
+ _param = self._fork_pack_endpoint_v1_serialize(
506
+ industry_vertical=industry_vertical,
507
+ _request_auth=_request_auth,
508
+ _content_type=_content_type,
509
+ _headers=_headers,
510
+ _host_index=_host_index
511
+ )
512
+
513
+ _response_types_map: Dict[str, Optional[str]] = {
514
+ '200': "ClausePack",
515
+ '422': "HTTPValidationError",
516
+ }
517
+ response_data = self.api_client.call_api(
518
+ *_param,
519
+ _request_timeout=_request_timeout
520
+ )
521
+ return response_data.response
522
+
523
+
524
+ def _fork_pack_endpoint_v1_serialize(
525
+ self,
526
+ industry_vertical,
527
+ _request_auth,
528
+ _content_type,
529
+ _headers,
530
+ _host_index,
531
+ ) -> RequestSerialized:
532
+
533
+ _host = None
534
+
535
+ _collection_formats: Dict[str, str] = {
536
+ }
537
+
538
+ _path_params: Dict[str, str] = {}
539
+ _query_params: List[Tuple[str, str]] = []
540
+ _header_params: Dict[str, Optional[str]] = _headers or {}
541
+ _form_params: List[Tuple[str, str]] = []
542
+ _files: Dict[
543
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
544
+ ] = {}
545
+ _body_params: Optional[bytes] = None
546
+
547
+ # process the path parameters
548
+ # process the query parameters
549
+ if industry_vertical is not None:
550
+
551
+ _query_params.append(('industry_vertical', industry_vertical))
552
+
553
+ # process the header parameters
554
+ # process the form parameters
555
+ # process the body parameter
556
+
557
+
558
+ # set the HTTP header `Accept`
559
+ if 'Accept' not in _header_params:
560
+ _header_params['Accept'] = self.api_client.select_header_accept(
561
+ [
562
+ 'application/json'
563
+ ]
564
+ )
565
+
566
+
567
+ # authentication setting
568
+ _auth_settings: List[str] = [
569
+ 'HTTPBearer'
570
+ ]
571
+
572
+ return self.api_client.param_serialize(
573
+ method='POST',
574
+ resource_path='/v1/clause-packs/fork',
575
+ path_params=_path_params,
576
+ query_params=_query_params,
577
+ header_params=_header_params,
578
+ body=_body_params,
579
+ post_params=_form_params,
580
+ files=_files,
581
+ auth_settings=_auth_settings,
582
+ collection_formats=_collection_formats,
583
+ _host=_host,
584
+ _request_auth=_request_auth
585
+ )
586
+
587
+
588
+
589
+
590
+ @validate_call
591
+ def get_audit_v1(
592
+ self,
593
+ audit_id: StrictStr,
594
+ _request_timeout: Union[
595
+ None,
596
+ Annotated[StrictFloat, Field(gt=0)],
597
+ Tuple[
598
+ Annotated[StrictFloat, Field(gt=0)],
599
+ Annotated[StrictFloat, Field(gt=0)]
600
+ ]
601
+ ] = None,
602
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
603
+ _content_type: Optional[StrictStr] = None,
604
+ _headers: Optional[Dict[StrictStr, Any]] = None,
605
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
606
+ ) -> Dict[str, object]:
607
+ """Get Audit
608
+
609
+ Fetch a previously-run audit by id (scoped to tenant).
610
+
611
+ :param audit_id: (required)
612
+ :type audit_id: str
613
+ :param _request_timeout: timeout setting for this request. If one
614
+ number provided, it will be total request
615
+ timeout. It can also be a pair (tuple) of
616
+ (connection, read) timeouts.
617
+ :type _request_timeout: int, tuple(int, int), optional
618
+ :param _request_auth: set to override the auth_settings for an a single
619
+ request; this effectively ignores the
620
+ authentication in the spec for a single request.
621
+ :type _request_auth: dict, optional
622
+ :param _content_type: force content-type for the request.
623
+ :type _content_type: str, Optional
624
+ :param _headers: set to override the headers for a single
625
+ request; this effectively ignores the headers
626
+ in the spec for a single request.
627
+ :type _headers: dict, optional
628
+ :param _host_index: set to override the host_index for a single
629
+ request; this effectively ignores the host_index
630
+ in the spec for a single request.
631
+ :type _host_index: int, optional
632
+ :return: Returns the result object.
633
+ """ # noqa: E501
634
+
635
+ _param = self._get_audit_v1_serialize(
636
+ audit_id=audit_id,
637
+ _request_auth=_request_auth,
638
+ _content_type=_content_type,
639
+ _headers=_headers,
640
+ _host_index=_host_index
641
+ )
642
+
643
+ _response_types_map: Dict[str, Optional[str]] = {
644
+ '200': "Dict[str, object]",
645
+ '422': "HTTPValidationError",
646
+ }
647
+ response_data = self.api_client.call_api(
648
+ *_param,
649
+ _request_timeout=_request_timeout
650
+ )
651
+ response_data.read()
652
+ return self.api_client.response_deserialize(
653
+ response_data=response_data,
654
+ response_types_map=_response_types_map,
655
+ ).data
656
+
657
+
658
+ @validate_call
659
+ def get_audit_v1_with_http_info(
660
+ self,
661
+ audit_id: StrictStr,
662
+ _request_timeout: Union[
663
+ None,
664
+ Annotated[StrictFloat, Field(gt=0)],
665
+ Tuple[
666
+ Annotated[StrictFloat, Field(gt=0)],
667
+ Annotated[StrictFloat, Field(gt=0)]
668
+ ]
669
+ ] = None,
670
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
671
+ _content_type: Optional[StrictStr] = None,
672
+ _headers: Optional[Dict[StrictStr, Any]] = None,
673
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
674
+ ) -> ApiResponse[Dict[str, object]]:
675
+ """Get Audit
676
+
677
+ Fetch a previously-run audit by id (scoped to tenant).
678
+
679
+ :param audit_id: (required)
680
+ :type audit_id: str
681
+ :param _request_timeout: timeout setting for this request. If one
682
+ number provided, it will be total request
683
+ timeout. It can also be a pair (tuple) of
684
+ (connection, read) timeouts.
685
+ :type _request_timeout: int, tuple(int, int), optional
686
+ :param _request_auth: set to override the auth_settings for an a single
687
+ request; this effectively ignores the
688
+ authentication in the spec for a single request.
689
+ :type _request_auth: dict, optional
690
+ :param _content_type: force content-type for the request.
691
+ :type _content_type: str, Optional
692
+ :param _headers: set to override the headers for a single
693
+ request; this effectively ignores the headers
694
+ in the spec for a single request.
695
+ :type _headers: dict, optional
696
+ :param _host_index: set to override the host_index for a single
697
+ request; this effectively ignores the host_index
698
+ in the spec for a single request.
699
+ :type _host_index: int, optional
700
+ :return: Returns the result object.
701
+ """ # noqa: E501
702
+
703
+ _param = self._get_audit_v1_serialize(
704
+ audit_id=audit_id,
705
+ _request_auth=_request_auth,
706
+ _content_type=_content_type,
707
+ _headers=_headers,
708
+ _host_index=_host_index
709
+ )
710
+
711
+ _response_types_map: Dict[str, Optional[str]] = {
712
+ '200': "Dict[str, object]",
713
+ '422': "HTTPValidationError",
714
+ }
715
+ response_data = self.api_client.call_api(
716
+ *_param,
717
+ _request_timeout=_request_timeout
718
+ )
719
+ response_data.read()
720
+ return self.api_client.response_deserialize(
721
+ response_data=response_data,
722
+ response_types_map=_response_types_map,
723
+ )
724
+
725
+
726
+ @validate_call
727
+ def get_audit_v1_without_preload_content(
728
+ self,
729
+ audit_id: StrictStr,
730
+ _request_timeout: Union[
731
+ None,
732
+ Annotated[StrictFloat, Field(gt=0)],
733
+ Tuple[
734
+ Annotated[StrictFloat, Field(gt=0)],
735
+ Annotated[StrictFloat, Field(gt=0)]
736
+ ]
737
+ ] = None,
738
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
739
+ _content_type: Optional[StrictStr] = None,
740
+ _headers: Optional[Dict[StrictStr, Any]] = None,
741
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
742
+ ) -> RESTResponseType:
743
+ """Get Audit
744
+
745
+ Fetch a previously-run audit by id (scoped to tenant).
746
+
747
+ :param audit_id: (required)
748
+ :type audit_id: str
749
+ :param _request_timeout: timeout setting for this request. If one
750
+ number provided, it will be total request
751
+ timeout. It can also be a pair (tuple) of
752
+ (connection, read) timeouts.
753
+ :type _request_timeout: int, tuple(int, int), optional
754
+ :param _request_auth: set to override the auth_settings for an a single
755
+ request; this effectively ignores the
756
+ authentication in the spec for a single request.
757
+ :type _request_auth: dict, optional
758
+ :param _content_type: force content-type for the request.
759
+ :type _content_type: str, Optional
760
+ :param _headers: set to override the headers for a single
761
+ request; this effectively ignores the headers
762
+ in the spec for a single request.
763
+ :type _headers: dict, optional
764
+ :param _host_index: set to override the host_index for a single
765
+ request; this effectively ignores the host_index
766
+ in the spec for a single request.
767
+ :type _host_index: int, optional
768
+ :return: Returns the result object.
769
+ """ # noqa: E501
770
+
771
+ _param = self._get_audit_v1_serialize(
772
+ audit_id=audit_id,
773
+ _request_auth=_request_auth,
774
+ _content_type=_content_type,
775
+ _headers=_headers,
776
+ _host_index=_host_index
777
+ )
778
+
779
+ _response_types_map: Dict[str, Optional[str]] = {
780
+ '200': "Dict[str, object]",
781
+ '422': "HTTPValidationError",
782
+ }
783
+ response_data = self.api_client.call_api(
784
+ *_param,
785
+ _request_timeout=_request_timeout
786
+ )
787
+ return response_data.response
788
+
789
+
790
+ def _get_audit_v1_serialize(
791
+ self,
792
+ audit_id,
793
+ _request_auth,
794
+ _content_type,
795
+ _headers,
796
+ _host_index,
797
+ ) -> RequestSerialized:
798
+
799
+ _host = None
800
+
801
+ _collection_formats: Dict[str, str] = {
802
+ }
803
+
804
+ _path_params: Dict[str, str] = {}
805
+ _query_params: List[Tuple[str, str]] = []
806
+ _header_params: Dict[str, Optional[str]] = _headers or {}
807
+ _form_params: List[Tuple[str, str]] = []
808
+ _files: Dict[
809
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
810
+ ] = {}
811
+ _body_params: Optional[bytes] = None
812
+
813
+ # process the path parameters
814
+ if audit_id is not None:
815
+ _path_params['audit_id'] = audit_id
816
+ # process the query parameters
817
+ # process the header parameters
818
+ # process the form parameters
819
+ # process the body parameter
820
+
821
+
822
+ # set the HTTP header `Accept`
823
+ if 'Accept' not in _header_params:
824
+ _header_params['Accept'] = self.api_client.select_header_accept(
825
+ [
826
+ 'application/json'
827
+ ]
828
+ )
829
+
830
+
831
+ # authentication setting
832
+ _auth_settings: List[str] = [
833
+ 'HTTPBearer'
834
+ ]
835
+
836
+ return self.api_client.param_serialize(
837
+ method='GET',
838
+ resource_path='/v1/clause-packs/audit/{audit_id}',
839
+ path_params=_path_params,
840
+ query_params=_query_params,
841
+ header_params=_header_params,
842
+ body=_body_params,
843
+ post_params=_form_params,
844
+ files=_files,
845
+ auth_settings=_auth_settings,
846
+ collection_formats=_collection_formats,
847
+ _host=_host,
848
+ _request_auth=_request_auth
849
+ )
850
+
851
+
852
+
853
+
854
+ @validate_call
855
+ def get_effective_pack_endpoint_v1(
856
+ self,
857
+ industry_vertical: Annotated[StrictStr, Field(description="Industry vertical, e.g. 'ai-saas'")],
858
+ _request_timeout: Union[
859
+ None,
860
+ Annotated[StrictFloat, Field(gt=0)],
861
+ Tuple[
862
+ Annotated[StrictFloat, Field(gt=0)],
863
+ Annotated[StrictFloat, Field(gt=0)]
864
+ ]
865
+ ] = None,
866
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
867
+ _content_type: Optional[StrictStr] = None,
868
+ _headers: Optional[Dict[StrictStr, Any]] = None,
869
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
870
+ ) -> ClausePack:
871
+ """Get Effective Pack Endpoint
872
+
873
+ Return the effective clause pack for the authenticated tenant.
874
+
875
+ :param industry_vertical: Industry vertical, e.g. 'ai-saas' (required)
876
+ :type industry_vertical: str
877
+ :param _request_timeout: timeout setting for this request. If one
878
+ number provided, it will be total request
879
+ timeout. It can also be a pair (tuple) of
880
+ (connection, read) timeouts.
881
+ :type _request_timeout: int, tuple(int, int), optional
882
+ :param _request_auth: set to override the auth_settings for an a single
883
+ request; this effectively ignores the
884
+ authentication in the spec for a single request.
885
+ :type _request_auth: dict, optional
886
+ :param _content_type: force content-type for the request.
887
+ :type _content_type: str, Optional
888
+ :param _headers: set to override the headers for a single
889
+ request; this effectively ignores the headers
890
+ in the spec for a single request.
891
+ :type _headers: dict, optional
892
+ :param _host_index: set to override the host_index for a single
893
+ request; this effectively ignores the host_index
894
+ in the spec for a single request.
895
+ :type _host_index: int, optional
896
+ :return: Returns the result object.
897
+ """ # noqa: E501
898
+
899
+ _param = self._get_effective_pack_endpoint_v1_serialize(
900
+ industry_vertical=industry_vertical,
901
+ _request_auth=_request_auth,
902
+ _content_type=_content_type,
903
+ _headers=_headers,
904
+ _host_index=_host_index
905
+ )
906
+
907
+ _response_types_map: Dict[str, Optional[str]] = {
908
+ '200': "ClausePack",
909
+ '422': "HTTPValidationError",
910
+ }
911
+ response_data = self.api_client.call_api(
912
+ *_param,
913
+ _request_timeout=_request_timeout
914
+ )
915
+ response_data.read()
916
+ return self.api_client.response_deserialize(
917
+ response_data=response_data,
918
+ response_types_map=_response_types_map,
919
+ ).data
920
+
921
+
922
+ @validate_call
923
+ def get_effective_pack_endpoint_v1_with_http_info(
924
+ self,
925
+ industry_vertical: Annotated[StrictStr, Field(description="Industry vertical, e.g. 'ai-saas'")],
926
+ _request_timeout: Union[
927
+ None,
928
+ Annotated[StrictFloat, Field(gt=0)],
929
+ Tuple[
930
+ Annotated[StrictFloat, Field(gt=0)],
931
+ Annotated[StrictFloat, Field(gt=0)]
932
+ ]
933
+ ] = None,
934
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
935
+ _content_type: Optional[StrictStr] = None,
936
+ _headers: Optional[Dict[StrictStr, Any]] = None,
937
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
938
+ ) -> ApiResponse[ClausePack]:
939
+ """Get Effective Pack Endpoint
940
+
941
+ Return the effective clause pack for the authenticated tenant.
942
+
943
+ :param industry_vertical: Industry vertical, e.g. 'ai-saas' (required)
944
+ :type industry_vertical: str
945
+ :param _request_timeout: timeout setting for this request. If one
946
+ number provided, it will be total request
947
+ timeout. It can also be a pair (tuple) of
948
+ (connection, read) timeouts.
949
+ :type _request_timeout: int, tuple(int, int), optional
950
+ :param _request_auth: set to override the auth_settings for an a single
951
+ request; this effectively ignores the
952
+ authentication in the spec for a single request.
953
+ :type _request_auth: dict, optional
954
+ :param _content_type: force content-type for the request.
955
+ :type _content_type: str, Optional
956
+ :param _headers: set to override the headers for a single
957
+ request; this effectively ignores the headers
958
+ in the spec for a single request.
959
+ :type _headers: dict, optional
960
+ :param _host_index: set to override the host_index for a single
961
+ request; this effectively ignores the host_index
962
+ in the spec for a single request.
963
+ :type _host_index: int, optional
964
+ :return: Returns the result object.
965
+ """ # noqa: E501
966
+
967
+ _param = self._get_effective_pack_endpoint_v1_serialize(
968
+ industry_vertical=industry_vertical,
969
+ _request_auth=_request_auth,
970
+ _content_type=_content_type,
971
+ _headers=_headers,
972
+ _host_index=_host_index
973
+ )
974
+
975
+ _response_types_map: Dict[str, Optional[str]] = {
976
+ '200': "ClausePack",
977
+ '422': "HTTPValidationError",
978
+ }
979
+ response_data = self.api_client.call_api(
980
+ *_param,
981
+ _request_timeout=_request_timeout
982
+ )
983
+ response_data.read()
984
+ return self.api_client.response_deserialize(
985
+ response_data=response_data,
986
+ response_types_map=_response_types_map,
987
+ )
988
+
989
+
990
+ @validate_call
991
+ def get_effective_pack_endpoint_v1_without_preload_content(
992
+ self,
993
+ industry_vertical: Annotated[StrictStr, Field(description="Industry vertical, e.g. 'ai-saas'")],
994
+ _request_timeout: Union[
995
+ None,
996
+ Annotated[StrictFloat, Field(gt=0)],
997
+ Tuple[
998
+ Annotated[StrictFloat, Field(gt=0)],
999
+ Annotated[StrictFloat, Field(gt=0)]
1000
+ ]
1001
+ ] = None,
1002
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1003
+ _content_type: Optional[StrictStr] = None,
1004
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1005
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1006
+ ) -> RESTResponseType:
1007
+ """Get Effective Pack Endpoint
1008
+
1009
+ Return the effective clause pack for the authenticated tenant.
1010
+
1011
+ :param industry_vertical: Industry vertical, e.g. 'ai-saas' (required)
1012
+ :type industry_vertical: str
1013
+ :param _request_timeout: timeout setting for this request. If one
1014
+ number provided, it will be total request
1015
+ timeout. It can also be a pair (tuple) of
1016
+ (connection, read) timeouts.
1017
+ :type _request_timeout: int, tuple(int, int), optional
1018
+ :param _request_auth: set to override the auth_settings for an a single
1019
+ request; this effectively ignores the
1020
+ authentication in the spec for a single request.
1021
+ :type _request_auth: dict, optional
1022
+ :param _content_type: force content-type for the request.
1023
+ :type _content_type: str, Optional
1024
+ :param _headers: set to override the headers for a single
1025
+ request; this effectively ignores the headers
1026
+ in the spec for a single request.
1027
+ :type _headers: dict, optional
1028
+ :param _host_index: set to override the host_index for a single
1029
+ request; this effectively ignores the host_index
1030
+ in the spec for a single request.
1031
+ :type _host_index: int, optional
1032
+ :return: Returns the result object.
1033
+ """ # noqa: E501
1034
+
1035
+ _param = self._get_effective_pack_endpoint_v1_serialize(
1036
+ industry_vertical=industry_vertical,
1037
+ _request_auth=_request_auth,
1038
+ _content_type=_content_type,
1039
+ _headers=_headers,
1040
+ _host_index=_host_index
1041
+ )
1042
+
1043
+ _response_types_map: Dict[str, Optional[str]] = {
1044
+ '200': "ClausePack",
1045
+ '422': "HTTPValidationError",
1046
+ }
1047
+ response_data = self.api_client.call_api(
1048
+ *_param,
1049
+ _request_timeout=_request_timeout
1050
+ )
1051
+ return response_data.response
1052
+
1053
+
1054
+ def _get_effective_pack_endpoint_v1_serialize(
1055
+ self,
1056
+ industry_vertical,
1057
+ _request_auth,
1058
+ _content_type,
1059
+ _headers,
1060
+ _host_index,
1061
+ ) -> RequestSerialized:
1062
+
1063
+ _host = None
1064
+
1065
+ _collection_formats: Dict[str, str] = {
1066
+ }
1067
+
1068
+ _path_params: Dict[str, str] = {}
1069
+ _query_params: List[Tuple[str, str]] = []
1070
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1071
+ _form_params: List[Tuple[str, str]] = []
1072
+ _files: Dict[
1073
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1074
+ ] = {}
1075
+ _body_params: Optional[bytes] = None
1076
+
1077
+ # process the path parameters
1078
+ # process the query parameters
1079
+ if industry_vertical is not None:
1080
+
1081
+ _query_params.append(('industry_vertical', industry_vertical))
1082
+
1083
+ # process the header parameters
1084
+ # process the form parameters
1085
+ # process the body parameter
1086
+
1087
+
1088
+ # set the HTTP header `Accept`
1089
+ if 'Accept' not in _header_params:
1090
+ _header_params['Accept'] = self.api_client.select_header_accept(
1091
+ [
1092
+ 'application/json'
1093
+ ]
1094
+ )
1095
+
1096
+
1097
+ # authentication setting
1098
+ _auth_settings: List[str] = [
1099
+ 'HTTPBearer'
1100
+ ]
1101
+
1102
+ return self.api_client.param_serialize(
1103
+ method='GET',
1104
+ resource_path='/v1/clause-packs/effective',
1105
+ path_params=_path_params,
1106
+ query_params=_query_params,
1107
+ header_params=_header_params,
1108
+ body=_body_params,
1109
+ post_params=_form_params,
1110
+ files=_files,
1111
+ auth_settings=_auth_settings,
1112
+ collection_formats=_collection_formats,
1113
+ _host=_host,
1114
+ _request_auth=_request_auth
1115
+ )
1116
+
1117
+
1118
+
1119
+
1120
+ @validate_call
1121
+ def get_proposed_refinements_v1_clause(
1122
+ self,
1123
+ industry_vertical: Annotated[Optional[StrictStr], Field(description="Filter by vertical (optional)")] = None,
1124
+ _request_timeout: Union[
1125
+ None,
1126
+ Annotated[StrictFloat, Field(gt=0)],
1127
+ Tuple[
1128
+ Annotated[StrictFloat, Field(gt=0)],
1129
+ Annotated[StrictFloat, Field(gt=0)]
1130
+ ]
1131
+ ] = None,
1132
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1133
+ _content_type: Optional[StrictStr] = None,
1134
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1135
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1136
+ ) -> List[Dict[str, object]]:
1137
+ """Get Proposed Refinements
1138
+
1139
+ Return all 'proposed' redline feedback rows for the authenticated tenant. Rows are newest-first. The optional industry_vertical param is accepted for API symmetry; the query always scopes strictly to the authed tenant.
1140
+
1141
+ :param industry_vertical: Filter by vertical (optional)
1142
+ :type industry_vertical: str
1143
+ :param _request_timeout: timeout setting for this request. If one
1144
+ number provided, it will be total request
1145
+ timeout. It can also be a pair (tuple) of
1146
+ (connection, read) timeouts.
1147
+ :type _request_timeout: int, tuple(int, int), optional
1148
+ :param _request_auth: set to override the auth_settings for an a single
1149
+ request; this effectively ignores the
1150
+ authentication in the spec for a single request.
1151
+ :type _request_auth: dict, optional
1152
+ :param _content_type: force content-type for the request.
1153
+ :type _content_type: str, Optional
1154
+ :param _headers: set to override the headers for a single
1155
+ request; this effectively ignores the headers
1156
+ in the spec for a single request.
1157
+ :type _headers: dict, optional
1158
+ :param _host_index: set to override the host_index for a single
1159
+ request; this effectively ignores the host_index
1160
+ in the spec for a single request.
1161
+ :type _host_index: int, optional
1162
+ :return: Returns the result object.
1163
+ """ # noqa: E501
1164
+
1165
+ _param = self._get_proposed_refinements_v1_clause_serialize(
1166
+ industry_vertical=industry_vertical,
1167
+ _request_auth=_request_auth,
1168
+ _content_type=_content_type,
1169
+ _headers=_headers,
1170
+ _host_index=_host_index
1171
+ )
1172
+
1173
+ _response_types_map: Dict[str, Optional[str]] = {
1174
+ '200': "List[Dict[str, object]]",
1175
+ '422': "HTTPValidationError",
1176
+ }
1177
+ response_data = self.api_client.call_api(
1178
+ *_param,
1179
+ _request_timeout=_request_timeout
1180
+ )
1181
+ response_data.read()
1182
+ return self.api_client.response_deserialize(
1183
+ response_data=response_data,
1184
+ response_types_map=_response_types_map,
1185
+ ).data
1186
+
1187
+
1188
+ @validate_call
1189
+ def get_proposed_refinements_v1_clause_with_http_info(
1190
+ self,
1191
+ industry_vertical: Annotated[Optional[StrictStr], Field(description="Filter by vertical (optional)")] = None,
1192
+ _request_timeout: Union[
1193
+ None,
1194
+ Annotated[StrictFloat, Field(gt=0)],
1195
+ Tuple[
1196
+ Annotated[StrictFloat, Field(gt=0)],
1197
+ Annotated[StrictFloat, Field(gt=0)]
1198
+ ]
1199
+ ] = None,
1200
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1201
+ _content_type: Optional[StrictStr] = None,
1202
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1203
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1204
+ ) -> ApiResponse[List[Dict[str, object]]]:
1205
+ """Get Proposed Refinements
1206
+
1207
+ Return all 'proposed' redline feedback rows for the authenticated tenant. Rows are newest-first. The optional industry_vertical param is accepted for API symmetry; the query always scopes strictly to the authed tenant.
1208
+
1209
+ :param industry_vertical: Filter by vertical (optional)
1210
+ :type industry_vertical: str
1211
+ :param _request_timeout: timeout setting for this request. If one
1212
+ number provided, it will be total request
1213
+ timeout. It can also be a pair (tuple) of
1214
+ (connection, read) timeouts.
1215
+ :type _request_timeout: int, tuple(int, int), optional
1216
+ :param _request_auth: set to override the auth_settings for an a single
1217
+ request; this effectively ignores the
1218
+ authentication in the spec for a single request.
1219
+ :type _request_auth: dict, optional
1220
+ :param _content_type: force content-type for the request.
1221
+ :type _content_type: str, Optional
1222
+ :param _headers: set to override the headers for a single
1223
+ request; this effectively ignores the headers
1224
+ in the spec for a single request.
1225
+ :type _headers: dict, optional
1226
+ :param _host_index: set to override the host_index for a single
1227
+ request; this effectively ignores the host_index
1228
+ in the spec for a single request.
1229
+ :type _host_index: int, optional
1230
+ :return: Returns the result object.
1231
+ """ # noqa: E501
1232
+
1233
+ _param = self._get_proposed_refinements_v1_clause_serialize(
1234
+ industry_vertical=industry_vertical,
1235
+ _request_auth=_request_auth,
1236
+ _content_type=_content_type,
1237
+ _headers=_headers,
1238
+ _host_index=_host_index
1239
+ )
1240
+
1241
+ _response_types_map: Dict[str, Optional[str]] = {
1242
+ '200': "List[Dict[str, object]]",
1243
+ '422': "HTTPValidationError",
1244
+ }
1245
+ response_data = self.api_client.call_api(
1246
+ *_param,
1247
+ _request_timeout=_request_timeout
1248
+ )
1249
+ response_data.read()
1250
+ return self.api_client.response_deserialize(
1251
+ response_data=response_data,
1252
+ response_types_map=_response_types_map,
1253
+ )
1254
+
1255
+
1256
+ @validate_call
1257
+ def get_proposed_refinements_v1_clause_without_preload_content(
1258
+ self,
1259
+ industry_vertical: Annotated[Optional[StrictStr], Field(description="Filter by vertical (optional)")] = None,
1260
+ _request_timeout: Union[
1261
+ None,
1262
+ Annotated[StrictFloat, Field(gt=0)],
1263
+ Tuple[
1264
+ Annotated[StrictFloat, Field(gt=0)],
1265
+ Annotated[StrictFloat, Field(gt=0)]
1266
+ ]
1267
+ ] = None,
1268
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1269
+ _content_type: Optional[StrictStr] = None,
1270
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1271
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1272
+ ) -> RESTResponseType:
1273
+ """Get Proposed Refinements
1274
+
1275
+ Return all 'proposed' redline feedback rows for the authenticated tenant. Rows are newest-first. The optional industry_vertical param is accepted for API symmetry; the query always scopes strictly to the authed tenant.
1276
+
1277
+ :param industry_vertical: Filter by vertical (optional)
1278
+ :type industry_vertical: str
1279
+ :param _request_timeout: timeout setting for this request. If one
1280
+ number provided, it will be total request
1281
+ timeout. It can also be a pair (tuple) of
1282
+ (connection, read) timeouts.
1283
+ :type _request_timeout: int, tuple(int, int), optional
1284
+ :param _request_auth: set to override the auth_settings for an a single
1285
+ request; this effectively ignores the
1286
+ authentication in the spec for a single request.
1287
+ :type _request_auth: dict, optional
1288
+ :param _content_type: force content-type for the request.
1289
+ :type _content_type: str, Optional
1290
+ :param _headers: set to override the headers for a single
1291
+ request; this effectively ignores the headers
1292
+ in the spec for a single request.
1293
+ :type _headers: dict, optional
1294
+ :param _host_index: set to override the host_index for a single
1295
+ request; this effectively ignores the host_index
1296
+ in the spec for a single request.
1297
+ :type _host_index: int, optional
1298
+ :return: Returns the result object.
1299
+ """ # noqa: E501
1300
+
1301
+ _param = self._get_proposed_refinements_v1_clause_serialize(
1302
+ industry_vertical=industry_vertical,
1303
+ _request_auth=_request_auth,
1304
+ _content_type=_content_type,
1305
+ _headers=_headers,
1306
+ _host_index=_host_index
1307
+ )
1308
+
1309
+ _response_types_map: Dict[str, Optional[str]] = {
1310
+ '200': "List[Dict[str, object]]",
1311
+ '422': "HTTPValidationError",
1312
+ }
1313
+ response_data = self.api_client.call_api(
1314
+ *_param,
1315
+ _request_timeout=_request_timeout
1316
+ )
1317
+ return response_data.response
1318
+
1319
+
1320
+ def _get_proposed_refinements_v1_clause_serialize(
1321
+ self,
1322
+ industry_vertical,
1323
+ _request_auth,
1324
+ _content_type,
1325
+ _headers,
1326
+ _host_index,
1327
+ ) -> RequestSerialized:
1328
+
1329
+ _host = None
1330
+
1331
+ _collection_formats: Dict[str, str] = {
1332
+ }
1333
+
1334
+ _path_params: Dict[str, str] = {}
1335
+ _query_params: List[Tuple[str, str]] = []
1336
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1337
+ _form_params: List[Tuple[str, str]] = []
1338
+ _files: Dict[
1339
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1340
+ ] = {}
1341
+ _body_params: Optional[bytes] = None
1342
+
1343
+ # process the path parameters
1344
+ # process the query parameters
1345
+ if industry_vertical is not None:
1346
+
1347
+ _query_params.append(('industry_vertical', industry_vertical))
1348
+
1349
+ # process the header parameters
1350
+ # process the form parameters
1351
+ # process the body parameter
1352
+
1353
+
1354
+ # set the HTTP header `Accept`
1355
+ if 'Accept' not in _header_params:
1356
+ _header_params['Accept'] = self.api_client.select_header_accept(
1357
+ [
1358
+ 'application/json'
1359
+ ]
1360
+ )
1361
+
1362
+
1363
+ # authentication setting
1364
+ _auth_settings: List[str] = [
1365
+ 'HTTPBearer'
1366
+ ]
1367
+
1368
+ return self.api_client.param_serialize(
1369
+ method='GET',
1370
+ resource_path='/v1/clause-packs/proposed-refinements',
1371
+ path_params=_path_params,
1372
+ query_params=_query_params,
1373
+ header_params=_header_params,
1374
+ body=_body_params,
1375
+ post_params=_form_params,
1376
+ files=_files,
1377
+ auth_settings=_auth_settings,
1378
+ collection_formats=_collection_formats,
1379
+ _host=_host,
1380
+ _request_auth=_request_auth
1381
+ )
1382
+
1383
+
1384
+
1385
+
1386
+ @validate_call
1387
+ def post_audit_v1(
1388
+ self,
1389
+ audit_request: AuditRequest,
1390
+ _request_timeout: Union[
1391
+ None,
1392
+ Annotated[StrictFloat, Field(gt=0)],
1393
+ Tuple[
1394
+ Annotated[StrictFloat, Field(gt=0)],
1395
+ Annotated[StrictFloat, Field(gt=0)]
1396
+ ]
1397
+ ] = None,
1398
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1399
+ _content_type: Optional[StrictStr] = None,
1400
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1401
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1402
+ ) -> object:
1403
+ """Post Audit
1404
+
1405
+ Run a clause-pack diagnostic audit on one or more uploaded contracts. Returns 201 with {id, findings, divergences}.
1406
+
1407
+ :param audit_request: (required)
1408
+ :type audit_request: AuditRequest
1409
+ :param _request_timeout: timeout setting for this request. If one
1410
+ number provided, it will be total request
1411
+ timeout. It can also be a pair (tuple) of
1412
+ (connection, read) timeouts.
1413
+ :type _request_timeout: int, tuple(int, int), optional
1414
+ :param _request_auth: set to override the auth_settings for an a single
1415
+ request; this effectively ignores the
1416
+ authentication in the spec for a single request.
1417
+ :type _request_auth: dict, optional
1418
+ :param _content_type: force content-type for the request.
1419
+ :type _content_type: str, Optional
1420
+ :param _headers: set to override the headers for a single
1421
+ request; this effectively ignores the headers
1422
+ in the spec for a single request.
1423
+ :type _headers: dict, optional
1424
+ :param _host_index: set to override the host_index for a single
1425
+ request; this effectively ignores the host_index
1426
+ in the spec for a single request.
1427
+ :type _host_index: int, optional
1428
+ :return: Returns the result object.
1429
+ """ # noqa: E501
1430
+
1431
+ _param = self._post_audit_v1_serialize(
1432
+ audit_request=audit_request,
1433
+ _request_auth=_request_auth,
1434
+ _content_type=_content_type,
1435
+ _headers=_headers,
1436
+ _host_index=_host_index
1437
+ )
1438
+
1439
+ _response_types_map: Dict[str, Optional[str]] = {
1440
+ '201': "object",
1441
+ '422': "HTTPValidationError",
1442
+ }
1443
+ response_data = self.api_client.call_api(
1444
+ *_param,
1445
+ _request_timeout=_request_timeout
1446
+ )
1447
+ response_data.read()
1448
+ return self.api_client.response_deserialize(
1449
+ response_data=response_data,
1450
+ response_types_map=_response_types_map,
1451
+ ).data
1452
+
1453
+
1454
+ @validate_call
1455
+ def post_audit_v1_with_http_info(
1456
+ self,
1457
+ audit_request: AuditRequest,
1458
+ _request_timeout: Union[
1459
+ None,
1460
+ Annotated[StrictFloat, Field(gt=0)],
1461
+ Tuple[
1462
+ Annotated[StrictFloat, Field(gt=0)],
1463
+ Annotated[StrictFloat, Field(gt=0)]
1464
+ ]
1465
+ ] = None,
1466
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1467
+ _content_type: Optional[StrictStr] = None,
1468
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1469
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1470
+ ) -> ApiResponse[object]:
1471
+ """Post Audit
1472
+
1473
+ Run a clause-pack diagnostic audit on one or more uploaded contracts. Returns 201 with {id, findings, divergences}.
1474
+
1475
+ :param audit_request: (required)
1476
+ :type audit_request: AuditRequest
1477
+ :param _request_timeout: timeout setting for this request. If one
1478
+ number provided, it will be total request
1479
+ timeout. It can also be a pair (tuple) of
1480
+ (connection, read) timeouts.
1481
+ :type _request_timeout: int, tuple(int, int), optional
1482
+ :param _request_auth: set to override the auth_settings for an a single
1483
+ request; this effectively ignores the
1484
+ authentication in the spec for a single request.
1485
+ :type _request_auth: dict, optional
1486
+ :param _content_type: force content-type for the request.
1487
+ :type _content_type: str, Optional
1488
+ :param _headers: set to override the headers for a single
1489
+ request; this effectively ignores the headers
1490
+ in the spec for a single request.
1491
+ :type _headers: dict, optional
1492
+ :param _host_index: set to override the host_index for a single
1493
+ request; this effectively ignores the host_index
1494
+ in the spec for a single request.
1495
+ :type _host_index: int, optional
1496
+ :return: Returns the result object.
1497
+ """ # noqa: E501
1498
+
1499
+ _param = self._post_audit_v1_serialize(
1500
+ audit_request=audit_request,
1501
+ _request_auth=_request_auth,
1502
+ _content_type=_content_type,
1503
+ _headers=_headers,
1504
+ _host_index=_host_index
1505
+ )
1506
+
1507
+ _response_types_map: Dict[str, Optional[str]] = {
1508
+ '201': "object",
1509
+ '422': "HTTPValidationError",
1510
+ }
1511
+ response_data = self.api_client.call_api(
1512
+ *_param,
1513
+ _request_timeout=_request_timeout
1514
+ )
1515
+ response_data.read()
1516
+ return self.api_client.response_deserialize(
1517
+ response_data=response_data,
1518
+ response_types_map=_response_types_map,
1519
+ )
1520
+
1521
+
1522
+ @validate_call
1523
+ def post_audit_v1_without_preload_content(
1524
+ self,
1525
+ audit_request: AuditRequest,
1526
+ _request_timeout: Union[
1527
+ None,
1528
+ Annotated[StrictFloat, Field(gt=0)],
1529
+ Tuple[
1530
+ Annotated[StrictFloat, Field(gt=0)],
1531
+ Annotated[StrictFloat, Field(gt=0)]
1532
+ ]
1533
+ ] = None,
1534
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1535
+ _content_type: Optional[StrictStr] = None,
1536
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1537
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1538
+ ) -> RESTResponseType:
1539
+ """Post Audit
1540
+
1541
+ Run a clause-pack diagnostic audit on one or more uploaded contracts. Returns 201 with {id, findings, divergences}.
1542
+
1543
+ :param audit_request: (required)
1544
+ :type audit_request: AuditRequest
1545
+ :param _request_timeout: timeout setting for this request. If one
1546
+ number provided, it will be total request
1547
+ timeout. It can also be a pair (tuple) of
1548
+ (connection, read) timeouts.
1549
+ :type _request_timeout: int, tuple(int, int), optional
1550
+ :param _request_auth: set to override the auth_settings for an a single
1551
+ request; this effectively ignores the
1552
+ authentication in the spec for a single request.
1553
+ :type _request_auth: dict, optional
1554
+ :param _content_type: force content-type for the request.
1555
+ :type _content_type: str, Optional
1556
+ :param _headers: set to override the headers for a single
1557
+ request; this effectively ignores the headers
1558
+ in the spec for a single request.
1559
+ :type _headers: dict, optional
1560
+ :param _host_index: set to override the host_index for a single
1561
+ request; this effectively ignores the host_index
1562
+ in the spec for a single request.
1563
+ :type _host_index: int, optional
1564
+ :return: Returns the result object.
1565
+ """ # noqa: E501
1566
+
1567
+ _param = self._post_audit_v1_serialize(
1568
+ audit_request=audit_request,
1569
+ _request_auth=_request_auth,
1570
+ _content_type=_content_type,
1571
+ _headers=_headers,
1572
+ _host_index=_host_index
1573
+ )
1574
+
1575
+ _response_types_map: Dict[str, Optional[str]] = {
1576
+ '201': "object",
1577
+ '422': "HTTPValidationError",
1578
+ }
1579
+ response_data = self.api_client.call_api(
1580
+ *_param,
1581
+ _request_timeout=_request_timeout
1582
+ )
1583
+ return response_data.response
1584
+
1585
+
1586
+ def _post_audit_v1_serialize(
1587
+ self,
1588
+ audit_request,
1589
+ _request_auth,
1590
+ _content_type,
1591
+ _headers,
1592
+ _host_index,
1593
+ ) -> RequestSerialized:
1594
+
1595
+ _host = None
1596
+
1597
+ _collection_formats: Dict[str, str] = {
1598
+ }
1599
+
1600
+ _path_params: Dict[str, str] = {}
1601
+ _query_params: List[Tuple[str, str]] = []
1602
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1603
+ _form_params: List[Tuple[str, str]] = []
1604
+ _files: Dict[
1605
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1606
+ ] = {}
1607
+ _body_params: Optional[bytes] = None
1608
+
1609
+ # process the path parameters
1610
+ # process the query parameters
1611
+ # process the header parameters
1612
+ # process the form parameters
1613
+ # process the body parameter
1614
+ if audit_request is not None:
1615
+ _body_params = audit_request
1616
+
1617
+
1618
+ # set the HTTP header `Accept`
1619
+ if 'Accept' not in _header_params:
1620
+ _header_params['Accept'] = self.api_client.select_header_accept(
1621
+ [
1622
+ 'application/json'
1623
+ ]
1624
+ )
1625
+
1626
+ # set the HTTP header `Content-Type`
1627
+ if _content_type:
1628
+ _header_params['Content-Type'] = _content_type
1629
+ else:
1630
+ _default_content_type = (
1631
+ self.api_client.select_header_content_type(
1632
+ [
1633
+ 'application/json'
1634
+ ]
1635
+ )
1636
+ )
1637
+ if _default_content_type is not None:
1638
+ _header_params['Content-Type'] = _default_content_type
1639
+
1640
+ # authentication setting
1641
+ _auth_settings: List[str] = [
1642
+ 'HTTPBearer'
1643
+ ]
1644
+
1645
+ return self.api_client.param_serialize(
1646
+ method='POST',
1647
+ resource_path='/v1/clause-packs/audit',
1648
+ path_params=_path_params,
1649
+ query_params=_query_params,
1650
+ header_params=_header_params,
1651
+ body=_body_params,
1652
+ post_params=_form_params,
1653
+ files=_files,
1654
+ auth_settings=_auth_settings,
1655
+ collection_formats=_collection_formats,
1656
+ _host=_host,
1657
+ _request_auth=_request_auth
1658
+ )
1659
+
1660
+
1661
+
1662
+
1663
+ @validate_call
1664
+ def post_quick_redline_v1_clause(
1665
+ self,
1666
+ file: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]],
1667
+ industry_vertical: Annotated[Optional[StrictStr], Field(description="Industry vertical, e.g. 'ai-saas'")] = None,
1668
+ _request_timeout: Union[
1669
+ None,
1670
+ Annotated[StrictFloat, Field(gt=0)],
1671
+ Tuple[
1672
+ Annotated[StrictFloat, Field(gt=0)],
1673
+ Annotated[StrictFloat, Field(gt=0)]
1674
+ ]
1675
+ ] = None,
1676
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1677
+ _content_type: Optional[StrictStr] = None,
1678
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1679
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1680
+ ) -> QuickRedlineResponse:
1681
+ """Post Quick Redline
1682
+
1683
+ Upload a contract and get an instant clause-by-clause redline without creating a quote. - Accepts multipart/form-data with a `file` field (.txt, .docx, .pdf). - Derives tenant_id from auth context; no quote is created or referenced. - Returns extracted text, document segments, clause findings, and a verdict summary. - 413 if the file exceeds the configured size limit. - 415 if the file type is unsupported (propagated from the parser).
1684
+
1685
+ :param file: (required)
1686
+ :type file: bytearray
1687
+ :param industry_vertical: Industry vertical, e.g. 'ai-saas'
1688
+ :type industry_vertical: str
1689
+ :param _request_timeout: timeout setting for this request. If one
1690
+ number provided, it will be total request
1691
+ timeout. It can also be a pair (tuple) of
1692
+ (connection, read) timeouts.
1693
+ :type _request_timeout: int, tuple(int, int), optional
1694
+ :param _request_auth: set to override the auth_settings for an a single
1695
+ request; this effectively ignores the
1696
+ authentication in the spec for a single request.
1697
+ :type _request_auth: dict, optional
1698
+ :param _content_type: force content-type for the request.
1699
+ :type _content_type: str, Optional
1700
+ :param _headers: set to override the headers for a single
1701
+ request; this effectively ignores the headers
1702
+ in the spec for a single request.
1703
+ :type _headers: dict, optional
1704
+ :param _host_index: set to override the host_index for a single
1705
+ request; this effectively ignores the host_index
1706
+ in the spec for a single request.
1707
+ :type _host_index: int, optional
1708
+ :return: Returns the result object.
1709
+ """ # noqa: E501
1710
+
1711
+ _param = self._post_quick_redline_v1_clause_serialize(
1712
+ file=file,
1713
+ industry_vertical=industry_vertical,
1714
+ _request_auth=_request_auth,
1715
+ _content_type=_content_type,
1716
+ _headers=_headers,
1717
+ _host_index=_host_index
1718
+ )
1719
+
1720
+ _response_types_map: Dict[str, Optional[str]] = {
1721
+ '201': "QuickRedlineResponse",
1722
+ '422': "HTTPValidationError",
1723
+ }
1724
+ response_data = self.api_client.call_api(
1725
+ *_param,
1726
+ _request_timeout=_request_timeout
1727
+ )
1728
+ response_data.read()
1729
+ return self.api_client.response_deserialize(
1730
+ response_data=response_data,
1731
+ response_types_map=_response_types_map,
1732
+ ).data
1733
+
1734
+
1735
+ @validate_call
1736
+ def post_quick_redline_v1_clause_with_http_info(
1737
+ self,
1738
+ file: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]],
1739
+ industry_vertical: Annotated[Optional[StrictStr], Field(description="Industry vertical, e.g. 'ai-saas'")] = None,
1740
+ _request_timeout: Union[
1741
+ None,
1742
+ Annotated[StrictFloat, Field(gt=0)],
1743
+ Tuple[
1744
+ Annotated[StrictFloat, Field(gt=0)],
1745
+ Annotated[StrictFloat, Field(gt=0)]
1746
+ ]
1747
+ ] = None,
1748
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1749
+ _content_type: Optional[StrictStr] = None,
1750
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1751
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1752
+ ) -> ApiResponse[QuickRedlineResponse]:
1753
+ """Post Quick Redline
1754
+
1755
+ Upload a contract and get an instant clause-by-clause redline without creating a quote. - Accepts multipart/form-data with a `file` field (.txt, .docx, .pdf). - Derives tenant_id from auth context; no quote is created or referenced. - Returns extracted text, document segments, clause findings, and a verdict summary. - 413 if the file exceeds the configured size limit. - 415 if the file type is unsupported (propagated from the parser).
1756
+
1757
+ :param file: (required)
1758
+ :type file: bytearray
1759
+ :param industry_vertical: Industry vertical, e.g. 'ai-saas'
1760
+ :type industry_vertical: str
1761
+ :param _request_timeout: timeout setting for this request. If one
1762
+ number provided, it will be total request
1763
+ timeout. It can also be a pair (tuple) of
1764
+ (connection, read) timeouts.
1765
+ :type _request_timeout: int, tuple(int, int), optional
1766
+ :param _request_auth: set to override the auth_settings for an a single
1767
+ request; this effectively ignores the
1768
+ authentication in the spec for a single request.
1769
+ :type _request_auth: dict, optional
1770
+ :param _content_type: force content-type for the request.
1771
+ :type _content_type: str, Optional
1772
+ :param _headers: set to override the headers for a single
1773
+ request; this effectively ignores the headers
1774
+ in the spec for a single request.
1775
+ :type _headers: dict, optional
1776
+ :param _host_index: set to override the host_index for a single
1777
+ request; this effectively ignores the host_index
1778
+ in the spec for a single request.
1779
+ :type _host_index: int, optional
1780
+ :return: Returns the result object.
1781
+ """ # noqa: E501
1782
+
1783
+ _param = self._post_quick_redline_v1_clause_serialize(
1784
+ file=file,
1785
+ industry_vertical=industry_vertical,
1786
+ _request_auth=_request_auth,
1787
+ _content_type=_content_type,
1788
+ _headers=_headers,
1789
+ _host_index=_host_index
1790
+ )
1791
+
1792
+ _response_types_map: Dict[str, Optional[str]] = {
1793
+ '201': "QuickRedlineResponse",
1794
+ '422': "HTTPValidationError",
1795
+ }
1796
+ response_data = self.api_client.call_api(
1797
+ *_param,
1798
+ _request_timeout=_request_timeout
1799
+ )
1800
+ response_data.read()
1801
+ return self.api_client.response_deserialize(
1802
+ response_data=response_data,
1803
+ response_types_map=_response_types_map,
1804
+ )
1805
+
1806
+
1807
+ @validate_call
1808
+ def post_quick_redline_v1_clause_without_preload_content(
1809
+ self,
1810
+ file: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]],
1811
+ industry_vertical: Annotated[Optional[StrictStr], Field(description="Industry vertical, e.g. 'ai-saas'")] = None,
1812
+ _request_timeout: Union[
1813
+ None,
1814
+ Annotated[StrictFloat, Field(gt=0)],
1815
+ Tuple[
1816
+ Annotated[StrictFloat, Field(gt=0)],
1817
+ Annotated[StrictFloat, Field(gt=0)]
1818
+ ]
1819
+ ] = None,
1820
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1821
+ _content_type: Optional[StrictStr] = None,
1822
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1823
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1824
+ ) -> RESTResponseType:
1825
+ """Post Quick Redline
1826
+
1827
+ Upload a contract and get an instant clause-by-clause redline without creating a quote. - Accepts multipart/form-data with a `file` field (.txt, .docx, .pdf). - Derives tenant_id from auth context; no quote is created or referenced. - Returns extracted text, document segments, clause findings, and a verdict summary. - 413 if the file exceeds the configured size limit. - 415 if the file type is unsupported (propagated from the parser).
1828
+
1829
+ :param file: (required)
1830
+ :type file: bytearray
1831
+ :param industry_vertical: Industry vertical, e.g. 'ai-saas'
1832
+ :type industry_vertical: str
1833
+ :param _request_timeout: timeout setting for this request. If one
1834
+ number provided, it will be total request
1835
+ timeout. It can also be a pair (tuple) of
1836
+ (connection, read) timeouts.
1837
+ :type _request_timeout: int, tuple(int, int), optional
1838
+ :param _request_auth: set to override the auth_settings for an a single
1839
+ request; this effectively ignores the
1840
+ authentication in the spec for a single request.
1841
+ :type _request_auth: dict, optional
1842
+ :param _content_type: force content-type for the request.
1843
+ :type _content_type: str, Optional
1844
+ :param _headers: set to override the headers for a single
1845
+ request; this effectively ignores the headers
1846
+ in the spec for a single request.
1847
+ :type _headers: dict, optional
1848
+ :param _host_index: set to override the host_index for a single
1849
+ request; this effectively ignores the host_index
1850
+ in the spec for a single request.
1851
+ :type _host_index: int, optional
1852
+ :return: Returns the result object.
1853
+ """ # noqa: E501
1854
+
1855
+ _param = self._post_quick_redline_v1_clause_serialize(
1856
+ file=file,
1857
+ industry_vertical=industry_vertical,
1858
+ _request_auth=_request_auth,
1859
+ _content_type=_content_type,
1860
+ _headers=_headers,
1861
+ _host_index=_host_index
1862
+ )
1863
+
1864
+ _response_types_map: Dict[str, Optional[str]] = {
1865
+ '201': "QuickRedlineResponse",
1866
+ '422': "HTTPValidationError",
1867
+ }
1868
+ response_data = self.api_client.call_api(
1869
+ *_param,
1870
+ _request_timeout=_request_timeout
1871
+ )
1872
+ return response_data.response
1873
+
1874
+
1875
+ def _post_quick_redline_v1_clause_serialize(
1876
+ self,
1877
+ file,
1878
+ industry_vertical,
1879
+ _request_auth,
1880
+ _content_type,
1881
+ _headers,
1882
+ _host_index,
1883
+ ) -> RequestSerialized:
1884
+
1885
+ _host = None
1886
+
1887
+ _collection_formats: Dict[str, str] = {
1888
+ }
1889
+
1890
+ _path_params: Dict[str, str] = {}
1891
+ _query_params: List[Tuple[str, str]] = []
1892
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1893
+ _form_params: List[Tuple[str, str]] = []
1894
+ _files: Dict[
1895
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1896
+ ] = {}
1897
+ _body_params: Optional[bytes] = None
1898
+
1899
+ # process the path parameters
1900
+ # process the query parameters
1901
+ if industry_vertical is not None:
1902
+
1903
+ _query_params.append(('industry_vertical', industry_vertical))
1904
+
1905
+ # process the header parameters
1906
+ # process the form parameters
1907
+ if file is not None:
1908
+ _files['file'] = file
1909
+ # process the body parameter
1910
+
1911
+
1912
+ # set the HTTP header `Accept`
1913
+ if 'Accept' not in _header_params:
1914
+ _header_params['Accept'] = self.api_client.select_header_accept(
1915
+ [
1916
+ 'application/json'
1917
+ ]
1918
+ )
1919
+
1920
+ # set the HTTP header `Content-Type`
1921
+ if _content_type:
1922
+ _header_params['Content-Type'] = _content_type
1923
+ else:
1924
+ _default_content_type = (
1925
+ self.api_client.select_header_content_type(
1926
+ [
1927
+ 'multipart/form-data'
1928
+ ]
1929
+ )
1930
+ )
1931
+ if _default_content_type is not None:
1932
+ _header_params['Content-Type'] = _default_content_type
1933
+
1934
+ # authentication setting
1935
+ _auth_settings: List[str] = [
1936
+ 'HTTPBearer'
1937
+ ]
1938
+
1939
+ return self.api_client.param_serialize(
1940
+ method='POST',
1941
+ resource_path='/v1/clause-packs/quick-redline',
1942
+ path_params=_path_params,
1943
+ query_params=_query_params,
1944
+ header_params=_header_params,
1945
+ body=_body_params,
1946
+ post_params=_form_params,
1947
+ files=_files,
1948
+ auth_settings=_auth_settings,
1949
+ collection_formats=_collection_formats,
1950
+ _host=_host,
1951
+ _request_auth=_request_auth
1952
+ )
1953
+
1954
+
1955
+
1956
+
1957
+ @validate_call
1958
+ def post_training_upload_v1_clause(
1959
+ self,
1960
+ file: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]],
1961
+ _request_timeout: Union[
1962
+ None,
1963
+ Annotated[StrictFloat, Field(gt=0)],
1964
+ Tuple[
1965
+ Annotated[StrictFloat, Field(gt=0)],
1966
+ Annotated[StrictFloat, Field(gt=0)]
1967
+ ]
1968
+ ] = None,
1969
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1970
+ _content_type: Optional[StrictStr] = None,
1971
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1972
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1973
+ ) -> object:
1974
+ """Post Training Upload
1975
+
1976
+ Upload a contract document to the tenant's training corpus (quote_id=NULL).
1977
+
1978
+ :param file: (required)
1979
+ :type file: bytearray
1980
+ :param _request_timeout: timeout setting for this request. If one
1981
+ number provided, it will be total request
1982
+ timeout. It can also be a pair (tuple) of
1983
+ (connection, read) timeouts.
1984
+ :type _request_timeout: int, tuple(int, int), optional
1985
+ :param _request_auth: set to override the auth_settings for an a single
1986
+ request; this effectively ignores the
1987
+ authentication in the spec for a single request.
1988
+ :type _request_auth: dict, optional
1989
+ :param _content_type: force content-type for the request.
1990
+ :type _content_type: str, Optional
1991
+ :param _headers: set to override the headers for a single
1992
+ request; this effectively ignores the headers
1993
+ in the spec for a single request.
1994
+ :type _headers: dict, optional
1995
+ :param _host_index: set to override the host_index for a single
1996
+ request; this effectively ignores the host_index
1997
+ in the spec for a single request.
1998
+ :type _host_index: int, optional
1999
+ :return: Returns the result object.
2000
+ """ # noqa: E501
2001
+
2002
+ _param = self._post_training_upload_v1_clause_serialize(
2003
+ file=file,
2004
+ _request_auth=_request_auth,
2005
+ _content_type=_content_type,
2006
+ _headers=_headers,
2007
+ _host_index=_host_index
2008
+ )
2009
+
2010
+ _response_types_map: Dict[str, Optional[str]] = {
2011
+ '201': "object",
2012
+ '422': "HTTPValidationError",
2013
+ }
2014
+ response_data = self.api_client.call_api(
2015
+ *_param,
2016
+ _request_timeout=_request_timeout
2017
+ )
2018
+ response_data.read()
2019
+ return self.api_client.response_deserialize(
2020
+ response_data=response_data,
2021
+ response_types_map=_response_types_map,
2022
+ ).data
2023
+
2024
+
2025
+ @validate_call
2026
+ def post_training_upload_v1_clause_with_http_info(
2027
+ self,
2028
+ file: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]],
2029
+ _request_timeout: Union[
2030
+ None,
2031
+ Annotated[StrictFloat, Field(gt=0)],
2032
+ Tuple[
2033
+ Annotated[StrictFloat, Field(gt=0)],
2034
+ Annotated[StrictFloat, Field(gt=0)]
2035
+ ]
2036
+ ] = None,
2037
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2038
+ _content_type: Optional[StrictStr] = None,
2039
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2040
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2041
+ ) -> ApiResponse[object]:
2042
+ """Post Training Upload
2043
+
2044
+ Upload a contract document to the tenant's training corpus (quote_id=NULL).
2045
+
2046
+ :param file: (required)
2047
+ :type file: bytearray
2048
+ :param _request_timeout: timeout setting for this request. If one
2049
+ number provided, it will be total request
2050
+ timeout. It can also be a pair (tuple) of
2051
+ (connection, read) timeouts.
2052
+ :type _request_timeout: int, tuple(int, int), optional
2053
+ :param _request_auth: set to override the auth_settings for an a single
2054
+ request; this effectively ignores the
2055
+ authentication in the spec for a single request.
2056
+ :type _request_auth: dict, optional
2057
+ :param _content_type: force content-type for the request.
2058
+ :type _content_type: str, Optional
2059
+ :param _headers: set to override the headers for a single
2060
+ request; this effectively ignores the headers
2061
+ in the spec for a single request.
2062
+ :type _headers: dict, optional
2063
+ :param _host_index: set to override the host_index for a single
2064
+ request; this effectively ignores the host_index
2065
+ in the spec for a single request.
2066
+ :type _host_index: int, optional
2067
+ :return: Returns the result object.
2068
+ """ # noqa: E501
2069
+
2070
+ _param = self._post_training_upload_v1_clause_serialize(
2071
+ file=file,
2072
+ _request_auth=_request_auth,
2073
+ _content_type=_content_type,
2074
+ _headers=_headers,
2075
+ _host_index=_host_index
2076
+ )
2077
+
2078
+ _response_types_map: Dict[str, Optional[str]] = {
2079
+ '201': "object",
2080
+ '422': "HTTPValidationError",
2081
+ }
2082
+ response_data = self.api_client.call_api(
2083
+ *_param,
2084
+ _request_timeout=_request_timeout
2085
+ )
2086
+ response_data.read()
2087
+ return self.api_client.response_deserialize(
2088
+ response_data=response_data,
2089
+ response_types_map=_response_types_map,
2090
+ )
2091
+
2092
+
2093
+ @validate_call
2094
+ def post_training_upload_v1_clause_without_preload_content(
2095
+ self,
2096
+ file: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]],
2097
+ _request_timeout: Union[
2098
+ None,
2099
+ Annotated[StrictFloat, Field(gt=0)],
2100
+ Tuple[
2101
+ Annotated[StrictFloat, Field(gt=0)],
2102
+ Annotated[StrictFloat, Field(gt=0)]
2103
+ ]
2104
+ ] = None,
2105
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2106
+ _content_type: Optional[StrictStr] = None,
2107
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2108
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2109
+ ) -> RESTResponseType:
2110
+ """Post Training Upload
2111
+
2112
+ Upload a contract document to the tenant's training corpus (quote_id=NULL).
2113
+
2114
+ :param file: (required)
2115
+ :type file: bytearray
2116
+ :param _request_timeout: timeout setting for this request. If one
2117
+ number provided, it will be total request
2118
+ timeout. It can also be a pair (tuple) of
2119
+ (connection, read) timeouts.
2120
+ :type _request_timeout: int, tuple(int, int), optional
2121
+ :param _request_auth: set to override the auth_settings for an a single
2122
+ request; this effectively ignores the
2123
+ authentication in the spec for a single request.
2124
+ :type _request_auth: dict, optional
2125
+ :param _content_type: force content-type for the request.
2126
+ :type _content_type: str, Optional
2127
+ :param _headers: set to override the headers for a single
2128
+ request; this effectively ignores the headers
2129
+ in the spec for a single request.
2130
+ :type _headers: dict, optional
2131
+ :param _host_index: set to override the host_index for a single
2132
+ request; this effectively ignores the host_index
2133
+ in the spec for a single request.
2134
+ :type _host_index: int, optional
2135
+ :return: Returns the result object.
2136
+ """ # noqa: E501
2137
+
2138
+ _param = self._post_training_upload_v1_clause_serialize(
2139
+ file=file,
2140
+ _request_auth=_request_auth,
2141
+ _content_type=_content_type,
2142
+ _headers=_headers,
2143
+ _host_index=_host_index
2144
+ )
2145
+
2146
+ _response_types_map: Dict[str, Optional[str]] = {
2147
+ '201': "object",
2148
+ '422': "HTTPValidationError",
2149
+ }
2150
+ response_data = self.api_client.call_api(
2151
+ *_param,
2152
+ _request_timeout=_request_timeout
2153
+ )
2154
+ return response_data.response
2155
+
2156
+
2157
+ def _post_training_upload_v1_clause_serialize(
2158
+ self,
2159
+ file,
2160
+ _request_auth,
2161
+ _content_type,
2162
+ _headers,
2163
+ _host_index,
2164
+ ) -> RequestSerialized:
2165
+
2166
+ _host = None
2167
+
2168
+ _collection_formats: Dict[str, str] = {
2169
+ }
2170
+
2171
+ _path_params: Dict[str, str] = {}
2172
+ _query_params: List[Tuple[str, str]] = []
2173
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2174
+ _form_params: List[Tuple[str, str]] = []
2175
+ _files: Dict[
2176
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2177
+ ] = {}
2178
+ _body_params: Optional[bytes] = None
2179
+
2180
+ # process the path parameters
2181
+ # process the query parameters
2182
+ # process the header parameters
2183
+ # process the form parameters
2184
+ if file is not None:
2185
+ _files['file'] = file
2186
+ # process the body parameter
2187
+
2188
+
2189
+ # set the HTTP header `Accept`
2190
+ if 'Accept' not in _header_params:
2191
+ _header_params['Accept'] = self.api_client.select_header_accept(
2192
+ [
2193
+ 'application/json'
2194
+ ]
2195
+ )
2196
+
2197
+ # set the HTTP header `Content-Type`
2198
+ if _content_type:
2199
+ _header_params['Content-Type'] = _content_type
2200
+ else:
2201
+ _default_content_type = (
2202
+ self.api_client.select_header_content_type(
2203
+ [
2204
+ 'multipart/form-data'
2205
+ ]
2206
+ )
2207
+ )
2208
+ if _default_content_type is not None:
2209
+ _header_params['Content-Type'] = _default_content_type
2210
+
2211
+ # authentication setting
2212
+ _auth_settings: List[str] = [
2213
+ 'HTTPBearer'
2214
+ ]
2215
+
2216
+ return self.api_client.param_serialize(
2217
+ method='POST',
2218
+ resource_path='/v1/clause-packs/training-uploads',
2219
+ path_params=_path_params,
2220
+ query_params=_query_params,
2221
+ header_params=_header_params,
2222
+ body=_body_params,
2223
+ post_params=_form_params,
2224
+ files=_files,
2225
+ auth_settings=_auth_settings,
2226
+ collection_formats=_collection_formats,
2227
+ _host=_host,
2228
+ _request_auth=_request_auth
2229
+ )
2230
+
2231
+
2232
+
2233
+
2234
+ @validate_call
2235
+ def ratify_family_endpoint_v1_clause(
2236
+ self,
2237
+ ratify_family_request: RatifyFamilyRequest,
2238
+ _request_timeout: Union[
2239
+ None,
2240
+ Annotated[StrictFloat, Field(gt=0)],
2241
+ Tuple[
2242
+ Annotated[StrictFloat, Field(gt=0)],
2243
+ Annotated[StrictFloat, Field(gt=0)]
2244
+ ]
2245
+ ] = None,
2246
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2247
+ _content_type: Optional[StrictStr] = None,
2248
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2249
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2250
+ ) -> ClausePack:
2251
+ """Ratify Family Endpoint
2252
+
2253
+ Append a signoff for a clause family in the tenant draft playbook. actor_id is derived from the authenticated context (portal token subject or api_key fingerprint) — never from the request body.
2254
+
2255
+ :param ratify_family_request: (required)
2256
+ :type ratify_family_request: RatifyFamilyRequest
2257
+ :param _request_timeout: timeout setting for this request. If one
2258
+ number provided, it will be total request
2259
+ timeout. It can also be a pair (tuple) of
2260
+ (connection, read) timeouts.
2261
+ :type _request_timeout: int, tuple(int, int), optional
2262
+ :param _request_auth: set to override the auth_settings for an a single
2263
+ request; this effectively ignores the
2264
+ authentication in the spec for a single request.
2265
+ :type _request_auth: dict, optional
2266
+ :param _content_type: force content-type for the request.
2267
+ :type _content_type: str, Optional
2268
+ :param _headers: set to override the headers for a single
2269
+ request; this effectively ignores the headers
2270
+ in the spec for a single request.
2271
+ :type _headers: dict, optional
2272
+ :param _host_index: set to override the host_index for a single
2273
+ request; this effectively ignores the host_index
2274
+ in the spec for a single request.
2275
+ :type _host_index: int, optional
2276
+ :return: Returns the result object.
2277
+ """ # noqa: E501
2278
+
2279
+ _param = self._ratify_family_endpoint_v1_clause_serialize(
2280
+ ratify_family_request=ratify_family_request,
2281
+ _request_auth=_request_auth,
2282
+ _content_type=_content_type,
2283
+ _headers=_headers,
2284
+ _host_index=_host_index
2285
+ )
2286
+
2287
+ _response_types_map: Dict[str, Optional[str]] = {
2288
+ '200': "ClausePack",
2289
+ '422': "HTTPValidationError",
2290
+ }
2291
+ response_data = self.api_client.call_api(
2292
+ *_param,
2293
+ _request_timeout=_request_timeout
2294
+ )
2295
+ response_data.read()
2296
+ return self.api_client.response_deserialize(
2297
+ response_data=response_data,
2298
+ response_types_map=_response_types_map,
2299
+ ).data
2300
+
2301
+
2302
+ @validate_call
2303
+ def ratify_family_endpoint_v1_clause_with_http_info(
2304
+ self,
2305
+ ratify_family_request: RatifyFamilyRequest,
2306
+ _request_timeout: Union[
2307
+ None,
2308
+ Annotated[StrictFloat, Field(gt=0)],
2309
+ Tuple[
2310
+ Annotated[StrictFloat, Field(gt=0)],
2311
+ Annotated[StrictFloat, Field(gt=0)]
2312
+ ]
2313
+ ] = None,
2314
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2315
+ _content_type: Optional[StrictStr] = None,
2316
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2317
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2318
+ ) -> ApiResponse[ClausePack]:
2319
+ """Ratify Family Endpoint
2320
+
2321
+ Append a signoff for a clause family in the tenant draft playbook. actor_id is derived from the authenticated context (portal token subject or api_key fingerprint) — never from the request body.
2322
+
2323
+ :param ratify_family_request: (required)
2324
+ :type ratify_family_request: RatifyFamilyRequest
2325
+ :param _request_timeout: timeout setting for this request. If one
2326
+ number provided, it will be total request
2327
+ timeout. It can also be a pair (tuple) of
2328
+ (connection, read) timeouts.
2329
+ :type _request_timeout: int, tuple(int, int), optional
2330
+ :param _request_auth: set to override the auth_settings for an a single
2331
+ request; this effectively ignores the
2332
+ authentication in the spec for a single request.
2333
+ :type _request_auth: dict, optional
2334
+ :param _content_type: force content-type for the request.
2335
+ :type _content_type: str, Optional
2336
+ :param _headers: set to override the headers for a single
2337
+ request; this effectively ignores the headers
2338
+ in the spec for a single request.
2339
+ :type _headers: dict, optional
2340
+ :param _host_index: set to override the host_index for a single
2341
+ request; this effectively ignores the host_index
2342
+ in the spec for a single request.
2343
+ :type _host_index: int, optional
2344
+ :return: Returns the result object.
2345
+ """ # noqa: E501
2346
+
2347
+ _param = self._ratify_family_endpoint_v1_clause_serialize(
2348
+ ratify_family_request=ratify_family_request,
2349
+ _request_auth=_request_auth,
2350
+ _content_type=_content_type,
2351
+ _headers=_headers,
2352
+ _host_index=_host_index
2353
+ )
2354
+
2355
+ _response_types_map: Dict[str, Optional[str]] = {
2356
+ '200': "ClausePack",
2357
+ '422': "HTTPValidationError",
2358
+ }
2359
+ response_data = self.api_client.call_api(
2360
+ *_param,
2361
+ _request_timeout=_request_timeout
2362
+ )
2363
+ response_data.read()
2364
+ return self.api_client.response_deserialize(
2365
+ response_data=response_data,
2366
+ response_types_map=_response_types_map,
2367
+ )
2368
+
2369
+
2370
+ @validate_call
2371
+ def ratify_family_endpoint_v1_clause_without_preload_content(
2372
+ self,
2373
+ ratify_family_request: RatifyFamilyRequest,
2374
+ _request_timeout: Union[
2375
+ None,
2376
+ Annotated[StrictFloat, Field(gt=0)],
2377
+ Tuple[
2378
+ Annotated[StrictFloat, Field(gt=0)],
2379
+ Annotated[StrictFloat, Field(gt=0)]
2380
+ ]
2381
+ ] = None,
2382
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2383
+ _content_type: Optional[StrictStr] = None,
2384
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2385
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2386
+ ) -> RESTResponseType:
2387
+ """Ratify Family Endpoint
2388
+
2389
+ Append a signoff for a clause family in the tenant draft playbook. actor_id is derived from the authenticated context (portal token subject or api_key fingerprint) — never from the request body.
2390
+
2391
+ :param ratify_family_request: (required)
2392
+ :type ratify_family_request: RatifyFamilyRequest
2393
+ :param _request_timeout: timeout setting for this request. If one
2394
+ number provided, it will be total request
2395
+ timeout. It can also be a pair (tuple) of
2396
+ (connection, read) timeouts.
2397
+ :type _request_timeout: int, tuple(int, int), optional
2398
+ :param _request_auth: set to override the auth_settings for an a single
2399
+ request; this effectively ignores the
2400
+ authentication in the spec for a single request.
2401
+ :type _request_auth: dict, optional
2402
+ :param _content_type: force content-type for the request.
2403
+ :type _content_type: str, Optional
2404
+ :param _headers: set to override the headers for a single
2405
+ request; this effectively ignores the headers
2406
+ in the spec for a single request.
2407
+ :type _headers: dict, optional
2408
+ :param _host_index: set to override the host_index for a single
2409
+ request; this effectively ignores the host_index
2410
+ in the spec for a single request.
2411
+ :type _host_index: int, optional
2412
+ :return: Returns the result object.
2413
+ """ # noqa: E501
2414
+
2415
+ _param = self._ratify_family_endpoint_v1_clause_serialize(
2416
+ ratify_family_request=ratify_family_request,
2417
+ _request_auth=_request_auth,
2418
+ _content_type=_content_type,
2419
+ _headers=_headers,
2420
+ _host_index=_host_index
2421
+ )
2422
+
2423
+ _response_types_map: Dict[str, Optional[str]] = {
2424
+ '200': "ClausePack",
2425
+ '422': "HTTPValidationError",
2426
+ }
2427
+ response_data = self.api_client.call_api(
2428
+ *_param,
2429
+ _request_timeout=_request_timeout
2430
+ )
2431
+ return response_data.response
2432
+
2433
+
2434
+ def _ratify_family_endpoint_v1_clause_serialize(
2435
+ self,
2436
+ ratify_family_request,
2437
+ _request_auth,
2438
+ _content_type,
2439
+ _headers,
2440
+ _host_index,
2441
+ ) -> RequestSerialized:
2442
+
2443
+ _host = None
2444
+
2445
+ _collection_formats: Dict[str, str] = {
2446
+ }
2447
+
2448
+ _path_params: Dict[str, str] = {}
2449
+ _query_params: List[Tuple[str, str]] = []
2450
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2451
+ _form_params: List[Tuple[str, str]] = []
2452
+ _files: Dict[
2453
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2454
+ ] = {}
2455
+ _body_params: Optional[bytes] = None
2456
+
2457
+ # process the path parameters
2458
+ # process the query parameters
2459
+ # process the header parameters
2460
+ # process the form parameters
2461
+ # process the body parameter
2462
+ if ratify_family_request is not None:
2463
+ _body_params = ratify_family_request
2464
+
2465
+
2466
+ # set the HTTP header `Accept`
2467
+ if 'Accept' not in _header_params:
2468
+ _header_params['Accept'] = self.api_client.select_header_accept(
2469
+ [
2470
+ 'application/json'
2471
+ ]
2472
+ )
2473
+
2474
+ # set the HTTP header `Content-Type`
2475
+ if _content_type:
2476
+ _header_params['Content-Type'] = _content_type
2477
+ else:
2478
+ _default_content_type = (
2479
+ self.api_client.select_header_content_type(
2480
+ [
2481
+ 'application/json'
2482
+ ]
2483
+ )
2484
+ )
2485
+ if _default_content_type is not None:
2486
+ _header_params['Content-Type'] = _default_content_type
2487
+
2488
+ # authentication setting
2489
+ _auth_settings: List[str] = [
2490
+ 'HTTPBearer'
2491
+ ]
2492
+
2493
+ return self.api_client.param_serialize(
2494
+ method='POST',
2495
+ resource_path='/v1/clause-packs/ratify-family',
2496
+ path_params=_path_params,
2497
+ query_params=_query_params,
2498
+ header_params=_header_params,
2499
+ body=_body_params,
2500
+ post_params=_form_params,
2501
+ files=_files,
2502
+ auth_settings=_auth_settings,
2503
+ collection_formats=_collection_formats,
2504
+ _host=_host,
2505
+ _request_auth=_request_auth
2506
+ )
2507
+
2508
+
2509
+
2510
+
2511
+ @validate_call
2512
+ def ratify_refinement_endpoint_v1_clause(
2513
+ self,
2514
+ ratify_refinement_request: RatifyRefinementRequest,
2515
+ _request_timeout: Union[
2516
+ None,
2517
+ Annotated[StrictFloat, Field(gt=0)],
2518
+ Tuple[
2519
+ Annotated[StrictFloat, Field(gt=0)],
2520
+ Annotated[StrictFloat, Field(gt=0)]
2521
+ ]
2522
+ ] = None,
2523
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2524
+ _content_type: Optional[StrictStr] = None,
2525
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2526
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2527
+ ) -> ClausePack:
2528
+ """Ratify Refinement Endpoint
2529
+
2530
+ Ratify a proposed refinement into the tenant's draft playbook. Merges proposed_position into the draft family's position criteria, appends a signoff (same mechanism as ratify-family), marks the feedback row 'ratified', and returns the updated ClausePack. actor_id is derived from the authenticated context — never from the client.
2531
+
2532
+ :param ratify_refinement_request: (required)
2533
+ :type ratify_refinement_request: RatifyRefinementRequest
2534
+ :param _request_timeout: timeout setting for this request. If one
2535
+ number provided, it will be total request
2536
+ timeout. It can also be a pair (tuple) of
2537
+ (connection, read) timeouts.
2538
+ :type _request_timeout: int, tuple(int, int), optional
2539
+ :param _request_auth: set to override the auth_settings for an a single
2540
+ request; this effectively ignores the
2541
+ authentication in the spec for a single request.
2542
+ :type _request_auth: dict, optional
2543
+ :param _content_type: force content-type for the request.
2544
+ :type _content_type: str, Optional
2545
+ :param _headers: set to override the headers for a single
2546
+ request; this effectively ignores the headers
2547
+ in the spec for a single request.
2548
+ :type _headers: dict, optional
2549
+ :param _host_index: set to override the host_index for a single
2550
+ request; this effectively ignores the host_index
2551
+ in the spec for a single request.
2552
+ :type _host_index: int, optional
2553
+ :return: Returns the result object.
2554
+ """ # noqa: E501
2555
+
2556
+ _param = self._ratify_refinement_endpoint_v1_clause_serialize(
2557
+ ratify_refinement_request=ratify_refinement_request,
2558
+ _request_auth=_request_auth,
2559
+ _content_type=_content_type,
2560
+ _headers=_headers,
2561
+ _host_index=_host_index
2562
+ )
2563
+
2564
+ _response_types_map: Dict[str, Optional[str]] = {
2565
+ '200': "ClausePack",
2566
+ '422': "HTTPValidationError",
2567
+ }
2568
+ response_data = self.api_client.call_api(
2569
+ *_param,
2570
+ _request_timeout=_request_timeout
2571
+ )
2572
+ response_data.read()
2573
+ return self.api_client.response_deserialize(
2574
+ response_data=response_data,
2575
+ response_types_map=_response_types_map,
2576
+ ).data
2577
+
2578
+
2579
+ @validate_call
2580
+ def ratify_refinement_endpoint_v1_clause_with_http_info(
2581
+ self,
2582
+ ratify_refinement_request: RatifyRefinementRequest,
2583
+ _request_timeout: Union[
2584
+ None,
2585
+ Annotated[StrictFloat, Field(gt=0)],
2586
+ Tuple[
2587
+ Annotated[StrictFloat, Field(gt=0)],
2588
+ Annotated[StrictFloat, Field(gt=0)]
2589
+ ]
2590
+ ] = None,
2591
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2592
+ _content_type: Optional[StrictStr] = None,
2593
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2594
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2595
+ ) -> ApiResponse[ClausePack]:
2596
+ """Ratify Refinement Endpoint
2597
+
2598
+ Ratify a proposed refinement into the tenant's draft playbook. Merges proposed_position into the draft family's position criteria, appends a signoff (same mechanism as ratify-family), marks the feedback row 'ratified', and returns the updated ClausePack. actor_id is derived from the authenticated context — never from the client.
2599
+
2600
+ :param ratify_refinement_request: (required)
2601
+ :type ratify_refinement_request: RatifyRefinementRequest
2602
+ :param _request_timeout: timeout setting for this request. If one
2603
+ number provided, it will be total request
2604
+ timeout. It can also be a pair (tuple) of
2605
+ (connection, read) timeouts.
2606
+ :type _request_timeout: int, tuple(int, int), optional
2607
+ :param _request_auth: set to override the auth_settings for an a single
2608
+ request; this effectively ignores the
2609
+ authentication in the spec for a single request.
2610
+ :type _request_auth: dict, optional
2611
+ :param _content_type: force content-type for the request.
2612
+ :type _content_type: str, Optional
2613
+ :param _headers: set to override the headers for a single
2614
+ request; this effectively ignores the headers
2615
+ in the spec for a single request.
2616
+ :type _headers: dict, optional
2617
+ :param _host_index: set to override the host_index for a single
2618
+ request; this effectively ignores the host_index
2619
+ in the spec for a single request.
2620
+ :type _host_index: int, optional
2621
+ :return: Returns the result object.
2622
+ """ # noqa: E501
2623
+
2624
+ _param = self._ratify_refinement_endpoint_v1_clause_serialize(
2625
+ ratify_refinement_request=ratify_refinement_request,
2626
+ _request_auth=_request_auth,
2627
+ _content_type=_content_type,
2628
+ _headers=_headers,
2629
+ _host_index=_host_index
2630
+ )
2631
+
2632
+ _response_types_map: Dict[str, Optional[str]] = {
2633
+ '200': "ClausePack",
2634
+ '422': "HTTPValidationError",
2635
+ }
2636
+ response_data = self.api_client.call_api(
2637
+ *_param,
2638
+ _request_timeout=_request_timeout
2639
+ )
2640
+ response_data.read()
2641
+ return self.api_client.response_deserialize(
2642
+ response_data=response_data,
2643
+ response_types_map=_response_types_map,
2644
+ )
2645
+
2646
+
2647
+ @validate_call
2648
+ def ratify_refinement_endpoint_v1_clause_without_preload_content(
2649
+ self,
2650
+ ratify_refinement_request: RatifyRefinementRequest,
2651
+ _request_timeout: Union[
2652
+ None,
2653
+ Annotated[StrictFloat, Field(gt=0)],
2654
+ Tuple[
2655
+ Annotated[StrictFloat, Field(gt=0)],
2656
+ Annotated[StrictFloat, Field(gt=0)]
2657
+ ]
2658
+ ] = None,
2659
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2660
+ _content_type: Optional[StrictStr] = None,
2661
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2662
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2663
+ ) -> RESTResponseType:
2664
+ """Ratify Refinement Endpoint
2665
+
2666
+ Ratify a proposed refinement into the tenant's draft playbook. Merges proposed_position into the draft family's position criteria, appends a signoff (same mechanism as ratify-family), marks the feedback row 'ratified', and returns the updated ClausePack. actor_id is derived from the authenticated context — never from the client.
2667
+
2668
+ :param ratify_refinement_request: (required)
2669
+ :type ratify_refinement_request: RatifyRefinementRequest
2670
+ :param _request_timeout: timeout setting for this request. If one
2671
+ number provided, it will be total request
2672
+ timeout. It can also be a pair (tuple) of
2673
+ (connection, read) timeouts.
2674
+ :type _request_timeout: int, tuple(int, int), optional
2675
+ :param _request_auth: set to override the auth_settings for an a single
2676
+ request; this effectively ignores the
2677
+ authentication in the spec for a single request.
2678
+ :type _request_auth: dict, optional
2679
+ :param _content_type: force content-type for the request.
2680
+ :type _content_type: str, Optional
2681
+ :param _headers: set to override the headers for a single
2682
+ request; this effectively ignores the headers
2683
+ in the spec for a single request.
2684
+ :type _headers: dict, optional
2685
+ :param _host_index: set to override the host_index for a single
2686
+ request; this effectively ignores the host_index
2687
+ in the spec for a single request.
2688
+ :type _host_index: int, optional
2689
+ :return: Returns the result object.
2690
+ """ # noqa: E501
2691
+
2692
+ _param = self._ratify_refinement_endpoint_v1_clause_serialize(
2693
+ ratify_refinement_request=ratify_refinement_request,
2694
+ _request_auth=_request_auth,
2695
+ _content_type=_content_type,
2696
+ _headers=_headers,
2697
+ _host_index=_host_index
2698
+ )
2699
+
2700
+ _response_types_map: Dict[str, Optional[str]] = {
2701
+ '200': "ClausePack",
2702
+ '422': "HTTPValidationError",
2703
+ }
2704
+ response_data = self.api_client.call_api(
2705
+ *_param,
2706
+ _request_timeout=_request_timeout
2707
+ )
2708
+ return response_data.response
2709
+
2710
+
2711
+ def _ratify_refinement_endpoint_v1_clause_serialize(
2712
+ self,
2713
+ ratify_refinement_request,
2714
+ _request_auth,
2715
+ _content_type,
2716
+ _headers,
2717
+ _host_index,
2718
+ ) -> RequestSerialized:
2719
+
2720
+ _host = None
2721
+
2722
+ _collection_formats: Dict[str, str] = {
2723
+ }
2724
+
2725
+ _path_params: Dict[str, str] = {}
2726
+ _query_params: List[Tuple[str, str]] = []
2727
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2728
+ _form_params: List[Tuple[str, str]] = []
2729
+ _files: Dict[
2730
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2731
+ ] = {}
2732
+ _body_params: Optional[bytes] = None
2733
+
2734
+ # process the path parameters
2735
+ # process the query parameters
2736
+ # process the header parameters
2737
+ # process the form parameters
2738
+ # process the body parameter
2739
+ if ratify_refinement_request is not None:
2740
+ _body_params = ratify_refinement_request
2741
+
2742
+
2743
+ # set the HTTP header `Accept`
2744
+ if 'Accept' not in _header_params:
2745
+ _header_params['Accept'] = self.api_client.select_header_accept(
2746
+ [
2747
+ 'application/json'
2748
+ ]
2749
+ )
2750
+
2751
+ # set the HTTP header `Content-Type`
2752
+ if _content_type:
2753
+ _header_params['Content-Type'] = _content_type
2754
+ else:
2755
+ _default_content_type = (
2756
+ self.api_client.select_header_content_type(
2757
+ [
2758
+ 'application/json'
2759
+ ]
2760
+ )
2761
+ )
2762
+ if _default_content_type is not None:
2763
+ _header_params['Content-Type'] = _default_content_type
2764
+
2765
+ # authentication setting
2766
+ _auth_settings: List[str] = [
2767
+ 'HTTPBearer'
2768
+ ]
2769
+
2770
+ return self.api_client.param_serialize(
2771
+ method='POST',
2772
+ resource_path='/v1/clause-packs/ratify-refinement',
2773
+ path_params=_path_params,
2774
+ query_params=_query_params,
2775
+ header_params=_header_params,
2776
+ body=_body_params,
2777
+ post_params=_form_params,
2778
+ files=_files,
2779
+ auth_settings=_auth_settings,
2780
+ collection_formats=_collection_formats,
2781
+ _host=_host,
2782
+ _request_auth=_request_auth
2783
+ )
2784
+
2785
+