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,1483 @@
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 datetime import datetime
20
+ from pydantic import Field, StrictBool, StrictStr
21
+ from typing import Any, Optional
22
+ from typing_extensions import Annotated
23
+ from moolabs.models.batch_wallet_state_request import BatchWalletStateRequest
24
+ from moolabs.models.batch_wallet_state_response import BatchWalletStateResponse
25
+
26
+ from moolabs.api_client import ApiClient, RequestSerialized
27
+ from moolabs.api_response import ApiResponse
28
+ from moolabs.rest import RESTResponseType
29
+
30
+
31
+ class LedgerApi:
32
+ """NOTE: This class is auto generated by OpenAPI Generator
33
+ Ref: https://openapi-generator.tech
34
+
35
+ Do not edit the class manually.
36
+ """
37
+
38
+ def __init__(self, api_client=None) -> None:
39
+ if api_client is None:
40
+ api_client = ApiClient.get_default()
41
+ self.api_client = api_client
42
+
43
+
44
+ @validate_call
45
+ def get_ledger_audit(
46
+ self,
47
+ tenant_id: Annotated[StrictStr, Field(description="Tenant identifier")],
48
+ pool_id: Annotated[StrictStr, Field(description="Pool identifier")],
49
+ wallet_id: Annotated[Optional[StrictStr], Field(description="Optional wallet filter")] = None,
50
+ journal_entry_id: Annotated[Optional[StrictStr], Field(description="Optional journal entry filter")] = None,
51
+ usage_event_id: Annotated[Optional[StrictStr], Field(description="Optional usage event filter")] = None,
52
+ from_effective_at: Annotated[Optional[datetime], Field(description="Optional start time filter")] = None,
53
+ to_effective_at: Annotated[Optional[datetime], Field(description="Optional end time filter")] = None,
54
+ limit: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="Maximum number of entries")] = None,
55
+ _request_timeout: Union[
56
+ None,
57
+ Annotated[StrictFloat, Field(gt=0)],
58
+ Tuple[
59
+ Annotated[StrictFloat, Field(gt=0)],
60
+ Annotated[StrictFloat, Field(gt=0)]
61
+ ]
62
+ ] = None,
63
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
64
+ _content_type: Optional[StrictStr] = None,
65
+ _headers: Optional[Dict[StrictStr, Any]] = None,
66
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
67
+ ) -> object:
68
+ """Get Ledger Audit
69
+
70
+ Explain ledger audit trace. This provides a detailed audit trail of journal entries, postings, and burn allocations.
71
+
72
+ :param tenant_id: Tenant identifier (required)
73
+ :type tenant_id: str
74
+ :param pool_id: Pool identifier (required)
75
+ :type pool_id: str
76
+ :param wallet_id: Optional wallet filter
77
+ :type wallet_id: str
78
+ :param journal_entry_id: Optional journal entry filter
79
+ :type journal_entry_id: str
80
+ :param usage_event_id: Optional usage event filter
81
+ :type usage_event_id: str
82
+ :param from_effective_at: Optional start time filter
83
+ :type from_effective_at: datetime
84
+ :param to_effective_at: Optional end time filter
85
+ :type to_effective_at: datetime
86
+ :param limit: Maximum number of entries
87
+ :type limit: int
88
+ :param _request_timeout: timeout setting for this request. If one
89
+ number provided, it will be total request
90
+ timeout. It can also be a pair (tuple) of
91
+ (connection, read) timeouts.
92
+ :type _request_timeout: int, tuple(int, int), optional
93
+ :param _request_auth: set to override the auth_settings for an a single
94
+ request; this effectively ignores the
95
+ authentication in the spec for a single request.
96
+ :type _request_auth: dict, optional
97
+ :param _content_type: force content-type for the request.
98
+ :type _content_type: str, Optional
99
+ :param _headers: set to override the headers for a single
100
+ request; this effectively ignores the headers
101
+ in the spec for a single request.
102
+ :type _headers: dict, optional
103
+ :param _host_index: set to override the host_index for a single
104
+ request; this effectively ignores the host_index
105
+ in the spec for a single request.
106
+ :type _host_index: int, optional
107
+ :return: Returns the result object.
108
+ """ # noqa: E501
109
+
110
+ _param = self._get_ledger_audit_serialize(
111
+ tenant_id=tenant_id,
112
+ pool_id=pool_id,
113
+ wallet_id=wallet_id,
114
+ journal_entry_id=journal_entry_id,
115
+ usage_event_id=usage_event_id,
116
+ from_effective_at=from_effective_at,
117
+ to_effective_at=to_effective_at,
118
+ limit=limit,
119
+ _request_auth=_request_auth,
120
+ _content_type=_content_type,
121
+ _headers=_headers,
122
+ _host_index=_host_index
123
+ )
124
+
125
+ _response_types_map: Dict[str, Optional[str]] = {
126
+ '200': "object",
127
+ '422': "HTTPValidationError",
128
+ }
129
+ response_data = self.api_client.call_api(
130
+ *_param,
131
+ _request_timeout=_request_timeout
132
+ )
133
+ response_data.read()
134
+ return self.api_client.response_deserialize(
135
+ response_data=response_data,
136
+ response_types_map=_response_types_map,
137
+ ).data
138
+
139
+
140
+ @validate_call
141
+ def get_ledger_audit_with_http_info(
142
+ self,
143
+ tenant_id: Annotated[StrictStr, Field(description="Tenant identifier")],
144
+ pool_id: Annotated[StrictStr, Field(description="Pool identifier")],
145
+ wallet_id: Annotated[Optional[StrictStr], Field(description="Optional wallet filter")] = None,
146
+ journal_entry_id: Annotated[Optional[StrictStr], Field(description="Optional journal entry filter")] = None,
147
+ usage_event_id: Annotated[Optional[StrictStr], Field(description="Optional usage event filter")] = None,
148
+ from_effective_at: Annotated[Optional[datetime], Field(description="Optional start time filter")] = None,
149
+ to_effective_at: Annotated[Optional[datetime], Field(description="Optional end time filter")] = None,
150
+ limit: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="Maximum number of entries")] = None,
151
+ _request_timeout: Union[
152
+ None,
153
+ Annotated[StrictFloat, Field(gt=0)],
154
+ Tuple[
155
+ Annotated[StrictFloat, Field(gt=0)],
156
+ Annotated[StrictFloat, Field(gt=0)]
157
+ ]
158
+ ] = None,
159
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
160
+ _content_type: Optional[StrictStr] = None,
161
+ _headers: Optional[Dict[StrictStr, Any]] = None,
162
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
163
+ ) -> ApiResponse[object]:
164
+ """Get Ledger Audit
165
+
166
+ Explain ledger audit trace. This provides a detailed audit trail of journal entries, postings, and burn allocations.
167
+
168
+ :param tenant_id: Tenant identifier (required)
169
+ :type tenant_id: str
170
+ :param pool_id: Pool identifier (required)
171
+ :type pool_id: str
172
+ :param wallet_id: Optional wallet filter
173
+ :type wallet_id: str
174
+ :param journal_entry_id: Optional journal entry filter
175
+ :type journal_entry_id: str
176
+ :param usage_event_id: Optional usage event filter
177
+ :type usage_event_id: str
178
+ :param from_effective_at: Optional start time filter
179
+ :type from_effective_at: datetime
180
+ :param to_effective_at: Optional end time filter
181
+ :type to_effective_at: datetime
182
+ :param limit: Maximum number of entries
183
+ :type limit: int
184
+ :param _request_timeout: timeout setting for this request. If one
185
+ number provided, it will be total request
186
+ timeout. It can also be a pair (tuple) of
187
+ (connection, read) timeouts.
188
+ :type _request_timeout: int, tuple(int, int), optional
189
+ :param _request_auth: set to override the auth_settings for an a single
190
+ request; this effectively ignores the
191
+ authentication in the spec for a single request.
192
+ :type _request_auth: dict, optional
193
+ :param _content_type: force content-type for the request.
194
+ :type _content_type: str, Optional
195
+ :param _headers: set to override the headers for a single
196
+ request; this effectively ignores the headers
197
+ in the spec for a single request.
198
+ :type _headers: dict, optional
199
+ :param _host_index: set to override the host_index for a single
200
+ request; this effectively ignores the host_index
201
+ in the spec for a single request.
202
+ :type _host_index: int, optional
203
+ :return: Returns the result object.
204
+ """ # noqa: E501
205
+
206
+ _param = self._get_ledger_audit_serialize(
207
+ tenant_id=tenant_id,
208
+ pool_id=pool_id,
209
+ wallet_id=wallet_id,
210
+ journal_entry_id=journal_entry_id,
211
+ usage_event_id=usage_event_id,
212
+ from_effective_at=from_effective_at,
213
+ to_effective_at=to_effective_at,
214
+ limit=limit,
215
+ _request_auth=_request_auth,
216
+ _content_type=_content_type,
217
+ _headers=_headers,
218
+ _host_index=_host_index
219
+ )
220
+
221
+ _response_types_map: Dict[str, Optional[str]] = {
222
+ '200': "object",
223
+ '422': "HTTPValidationError",
224
+ }
225
+ response_data = self.api_client.call_api(
226
+ *_param,
227
+ _request_timeout=_request_timeout
228
+ )
229
+ response_data.read()
230
+ return self.api_client.response_deserialize(
231
+ response_data=response_data,
232
+ response_types_map=_response_types_map,
233
+ )
234
+
235
+
236
+ @validate_call
237
+ def get_ledger_audit_without_preload_content(
238
+ self,
239
+ tenant_id: Annotated[StrictStr, Field(description="Tenant identifier")],
240
+ pool_id: Annotated[StrictStr, Field(description="Pool identifier")],
241
+ wallet_id: Annotated[Optional[StrictStr], Field(description="Optional wallet filter")] = None,
242
+ journal_entry_id: Annotated[Optional[StrictStr], Field(description="Optional journal entry filter")] = None,
243
+ usage_event_id: Annotated[Optional[StrictStr], Field(description="Optional usage event filter")] = None,
244
+ from_effective_at: Annotated[Optional[datetime], Field(description="Optional start time filter")] = None,
245
+ to_effective_at: Annotated[Optional[datetime], Field(description="Optional end time filter")] = None,
246
+ limit: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="Maximum number of entries")] = None,
247
+ _request_timeout: Union[
248
+ None,
249
+ Annotated[StrictFloat, Field(gt=0)],
250
+ Tuple[
251
+ Annotated[StrictFloat, Field(gt=0)],
252
+ Annotated[StrictFloat, Field(gt=0)]
253
+ ]
254
+ ] = None,
255
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
256
+ _content_type: Optional[StrictStr] = None,
257
+ _headers: Optional[Dict[StrictStr, Any]] = None,
258
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
259
+ ) -> RESTResponseType:
260
+ """Get Ledger Audit
261
+
262
+ Explain ledger audit trace. This provides a detailed audit trail of journal entries, postings, and burn allocations.
263
+
264
+ :param tenant_id: Tenant identifier (required)
265
+ :type tenant_id: str
266
+ :param pool_id: Pool identifier (required)
267
+ :type pool_id: str
268
+ :param wallet_id: Optional wallet filter
269
+ :type wallet_id: str
270
+ :param journal_entry_id: Optional journal entry filter
271
+ :type journal_entry_id: str
272
+ :param usage_event_id: Optional usage event filter
273
+ :type usage_event_id: str
274
+ :param from_effective_at: Optional start time filter
275
+ :type from_effective_at: datetime
276
+ :param to_effective_at: Optional end time filter
277
+ :type to_effective_at: datetime
278
+ :param limit: Maximum number of entries
279
+ :type limit: int
280
+ :param _request_timeout: timeout setting for this request. If one
281
+ number provided, it will be total request
282
+ timeout. It can also be a pair (tuple) of
283
+ (connection, read) timeouts.
284
+ :type _request_timeout: int, tuple(int, int), optional
285
+ :param _request_auth: set to override the auth_settings for an a single
286
+ request; this effectively ignores the
287
+ authentication in the spec for a single request.
288
+ :type _request_auth: dict, optional
289
+ :param _content_type: force content-type for the request.
290
+ :type _content_type: str, Optional
291
+ :param _headers: set to override the headers for a single
292
+ request; this effectively ignores the headers
293
+ in the spec for a single request.
294
+ :type _headers: dict, optional
295
+ :param _host_index: set to override the host_index for a single
296
+ request; this effectively ignores the host_index
297
+ in the spec for a single request.
298
+ :type _host_index: int, optional
299
+ :return: Returns the result object.
300
+ """ # noqa: E501
301
+
302
+ _param = self._get_ledger_audit_serialize(
303
+ tenant_id=tenant_id,
304
+ pool_id=pool_id,
305
+ wallet_id=wallet_id,
306
+ journal_entry_id=journal_entry_id,
307
+ usage_event_id=usage_event_id,
308
+ from_effective_at=from_effective_at,
309
+ to_effective_at=to_effective_at,
310
+ limit=limit,
311
+ _request_auth=_request_auth,
312
+ _content_type=_content_type,
313
+ _headers=_headers,
314
+ _host_index=_host_index
315
+ )
316
+
317
+ _response_types_map: Dict[str, Optional[str]] = {
318
+ '200': "object",
319
+ '422': "HTTPValidationError",
320
+ }
321
+ response_data = self.api_client.call_api(
322
+ *_param,
323
+ _request_timeout=_request_timeout
324
+ )
325
+ return response_data.response
326
+
327
+
328
+ def _get_ledger_audit_serialize(
329
+ self,
330
+ tenant_id,
331
+ pool_id,
332
+ wallet_id,
333
+ journal_entry_id,
334
+ usage_event_id,
335
+ from_effective_at,
336
+ to_effective_at,
337
+ limit,
338
+ _request_auth,
339
+ _content_type,
340
+ _headers,
341
+ _host_index,
342
+ ) -> RequestSerialized:
343
+
344
+ _host = None
345
+
346
+ _collection_formats: Dict[str, str] = {
347
+ }
348
+
349
+ _path_params: Dict[str, str] = {}
350
+ _query_params: List[Tuple[str, str]] = []
351
+ _header_params: Dict[str, Optional[str]] = _headers or {}
352
+ _form_params: List[Tuple[str, str]] = []
353
+ _files: Dict[
354
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
355
+ ] = {}
356
+ _body_params: Optional[bytes] = None
357
+
358
+ # process the path parameters
359
+ # process the query parameters
360
+ if tenant_id is not None:
361
+
362
+ _query_params.append(('tenant_id', tenant_id))
363
+
364
+ if pool_id is not None:
365
+
366
+ _query_params.append(('pool_id', pool_id))
367
+
368
+ if wallet_id is not None:
369
+
370
+ _query_params.append(('wallet_id', wallet_id))
371
+
372
+ if journal_entry_id is not None:
373
+
374
+ _query_params.append(('journal_entry_id', journal_entry_id))
375
+
376
+ if usage_event_id is not None:
377
+
378
+ _query_params.append(('usage_event_id', usage_event_id))
379
+
380
+ if from_effective_at is not None:
381
+ if isinstance(from_effective_at, datetime):
382
+ _query_params.append(
383
+ (
384
+ 'from_effective_at',
385
+ from_effective_at.strftime(
386
+ self.api_client.configuration.datetime_format
387
+ )
388
+ )
389
+ )
390
+ else:
391
+ _query_params.append(('from_effective_at', from_effective_at))
392
+
393
+ if to_effective_at is not None:
394
+ if isinstance(to_effective_at, datetime):
395
+ _query_params.append(
396
+ (
397
+ 'to_effective_at',
398
+ to_effective_at.strftime(
399
+ self.api_client.configuration.datetime_format
400
+ )
401
+ )
402
+ )
403
+ else:
404
+ _query_params.append(('to_effective_at', to_effective_at))
405
+
406
+ if limit is not None:
407
+
408
+ _query_params.append(('limit', limit))
409
+
410
+ # process the header parameters
411
+ # process the form parameters
412
+ # process the body parameter
413
+
414
+
415
+ # set the HTTP header `Accept`
416
+ if 'Accept' not in _header_params:
417
+ _header_params['Accept'] = self.api_client.select_header_accept(
418
+ [
419
+ 'application/json'
420
+ ]
421
+ )
422
+
423
+
424
+ # authentication setting
425
+ _auth_settings: List[str] = [
426
+ ]
427
+
428
+ return self.api_client.param_serialize(
429
+ method='GET',
430
+ resource_path='/v1/ledger/audit',
431
+ path_params=_path_params,
432
+ query_params=_query_params,
433
+ header_params=_header_params,
434
+ body=_body_params,
435
+ post_params=_form_params,
436
+ files=_files,
437
+ auth_settings=_auth_settings,
438
+ collection_formats=_collection_formats,
439
+ _host=_host,
440
+ _request_auth=_request_auth
441
+ )
442
+
443
+
444
+
445
+
446
+ @validate_call
447
+ def get_ledger_balance(
448
+ self,
449
+ tenant_id: Annotated[StrictStr, Field(description="Tenant identifier")],
450
+ pool_id: Annotated[StrictStr, Field(description="Pool identifier")],
451
+ wallet_id: Annotated[StrictStr, Field(description="Wallet identifier")],
452
+ as_of_effective_at: Annotated[datetime, Field(description="Effective timestamp (for time travel)")],
453
+ as_of_recorded_at: Annotated[Optional[datetime], Field(description="Recorded timestamp (for time travel)")] = None,
454
+ _request_timeout: Union[
455
+ None,
456
+ Annotated[StrictFloat, Field(gt=0)],
457
+ Tuple[
458
+ Annotated[StrictFloat, Field(gt=0)],
459
+ Annotated[StrictFloat, Field(gt=0)]
460
+ ]
461
+ ] = None,
462
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
463
+ _content_type: Optional[StrictStr] = None,
464
+ _headers: Optional[Dict[StrictStr, Any]] = None,
465
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
466
+ ) -> object:
467
+ """Get Ledger Balance
468
+
469
+ Get ledger balance at a specific point in time (time travel query). This calculates the balance as of a specific effective_at and recorded_at timestamp.
470
+
471
+ :param tenant_id: Tenant identifier (required)
472
+ :type tenant_id: str
473
+ :param pool_id: Pool identifier (required)
474
+ :type pool_id: str
475
+ :param wallet_id: Wallet identifier (required)
476
+ :type wallet_id: str
477
+ :param as_of_effective_at: Effective timestamp (for time travel) (required)
478
+ :type as_of_effective_at: datetime
479
+ :param as_of_recorded_at: Recorded timestamp (for time travel)
480
+ :type as_of_recorded_at: datetime
481
+ :param _request_timeout: timeout setting for this request. If one
482
+ number provided, it will be total request
483
+ timeout. It can also be a pair (tuple) of
484
+ (connection, read) timeouts.
485
+ :type _request_timeout: int, tuple(int, int), optional
486
+ :param _request_auth: set to override the auth_settings for an a single
487
+ request; this effectively ignores the
488
+ authentication in the spec for a single request.
489
+ :type _request_auth: dict, optional
490
+ :param _content_type: force content-type for the request.
491
+ :type _content_type: str, Optional
492
+ :param _headers: set to override the headers for a single
493
+ request; this effectively ignores the headers
494
+ in the spec for a single request.
495
+ :type _headers: dict, optional
496
+ :param _host_index: set to override the host_index for a single
497
+ request; this effectively ignores the host_index
498
+ in the spec for a single request.
499
+ :type _host_index: int, optional
500
+ :return: Returns the result object.
501
+ """ # noqa: E501
502
+
503
+ _param = self._get_ledger_balance_serialize(
504
+ tenant_id=tenant_id,
505
+ pool_id=pool_id,
506
+ wallet_id=wallet_id,
507
+ as_of_effective_at=as_of_effective_at,
508
+ as_of_recorded_at=as_of_recorded_at,
509
+ _request_auth=_request_auth,
510
+ _content_type=_content_type,
511
+ _headers=_headers,
512
+ _host_index=_host_index
513
+ )
514
+
515
+ _response_types_map: Dict[str, Optional[str]] = {
516
+ '200': "object",
517
+ '422': "HTTPValidationError",
518
+ }
519
+ response_data = self.api_client.call_api(
520
+ *_param,
521
+ _request_timeout=_request_timeout
522
+ )
523
+ response_data.read()
524
+ return self.api_client.response_deserialize(
525
+ response_data=response_data,
526
+ response_types_map=_response_types_map,
527
+ ).data
528
+
529
+
530
+ @validate_call
531
+ def get_ledger_balance_with_http_info(
532
+ self,
533
+ tenant_id: Annotated[StrictStr, Field(description="Tenant identifier")],
534
+ pool_id: Annotated[StrictStr, Field(description="Pool identifier")],
535
+ wallet_id: Annotated[StrictStr, Field(description="Wallet identifier")],
536
+ as_of_effective_at: Annotated[datetime, Field(description="Effective timestamp (for time travel)")],
537
+ as_of_recorded_at: Annotated[Optional[datetime], Field(description="Recorded timestamp (for time travel)")] = None,
538
+ _request_timeout: Union[
539
+ None,
540
+ Annotated[StrictFloat, Field(gt=0)],
541
+ Tuple[
542
+ Annotated[StrictFloat, Field(gt=0)],
543
+ Annotated[StrictFloat, Field(gt=0)]
544
+ ]
545
+ ] = None,
546
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
547
+ _content_type: Optional[StrictStr] = None,
548
+ _headers: Optional[Dict[StrictStr, Any]] = None,
549
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
550
+ ) -> ApiResponse[object]:
551
+ """Get Ledger Balance
552
+
553
+ Get ledger balance at a specific point in time (time travel query). This calculates the balance as of a specific effective_at and recorded_at timestamp.
554
+
555
+ :param tenant_id: Tenant identifier (required)
556
+ :type tenant_id: str
557
+ :param pool_id: Pool identifier (required)
558
+ :type pool_id: str
559
+ :param wallet_id: Wallet identifier (required)
560
+ :type wallet_id: str
561
+ :param as_of_effective_at: Effective timestamp (for time travel) (required)
562
+ :type as_of_effective_at: datetime
563
+ :param as_of_recorded_at: Recorded timestamp (for time travel)
564
+ :type as_of_recorded_at: datetime
565
+ :param _request_timeout: timeout setting for this request. If one
566
+ number provided, it will be total request
567
+ timeout. It can also be a pair (tuple) of
568
+ (connection, read) timeouts.
569
+ :type _request_timeout: int, tuple(int, int), optional
570
+ :param _request_auth: set to override the auth_settings for an a single
571
+ request; this effectively ignores the
572
+ authentication in the spec for a single request.
573
+ :type _request_auth: dict, optional
574
+ :param _content_type: force content-type for the request.
575
+ :type _content_type: str, Optional
576
+ :param _headers: set to override the headers for a single
577
+ request; this effectively ignores the headers
578
+ in the spec for a single request.
579
+ :type _headers: dict, optional
580
+ :param _host_index: set to override the host_index for a single
581
+ request; this effectively ignores the host_index
582
+ in the spec for a single request.
583
+ :type _host_index: int, optional
584
+ :return: Returns the result object.
585
+ """ # noqa: E501
586
+
587
+ _param = self._get_ledger_balance_serialize(
588
+ tenant_id=tenant_id,
589
+ pool_id=pool_id,
590
+ wallet_id=wallet_id,
591
+ as_of_effective_at=as_of_effective_at,
592
+ as_of_recorded_at=as_of_recorded_at,
593
+ _request_auth=_request_auth,
594
+ _content_type=_content_type,
595
+ _headers=_headers,
596
+ _host_index=_host_index
597
+ )
598
+
599
+ _response_types_map: Dict[str, Optional[str]] = {
600
+ '200': "object",
601
+ '422': "HTTPValidationError",
602
+ }
603
+ response_data = self.api_client.call_api(
604
+ *_param,
605
+ _request_timeout=_request_timeout
606
+ )
607
+ response_data.read()
608
+ return self.api_client.response_deserialize(
609
+ response_data=response_data,
610
+ response_types_map=_response_types_map,
611
+ )
612
+
613
+
614
+ @validate_call
615
+ def get_ledger_balance_without_preload_content(
616
+ self,
617
+ tenant_id: Annotated[StrictStr, Field(description="Tenant identifier")],
618
+ pool_id: Annotated[StrictStr, Field(description="Pool identifier")],
619
+ wallet_id: Annotated[StrictStr, Field(description="Wallet identifier")],
620
+ as_of_effective_at: Annotated[datetime, Field(description="Effective timestamp (for time travel)")],
621
+ as_of_recorded_at: Annotated[Optional[datetime], Field(description="Recorded timestamp (for time travel)")] = None,
622
+ _request_timeout: Union[
623
+ None,
624
+ Annotated[StrictFloat, Field(gt=0)],
625
+ Tuple[
626
+ Annotated[StrictFloat, Field(gt=0)],
627
+ Annotated[StrictFloat, Field(gt=0)]
628
+ ]
629
+ ] = None,
630
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
631
+ _content_type: Optional[StrictStr] = None,
632
+ _headers: Optional[Dict[StrictStr, Any]] = None,
633
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
634
+ ) -> RESTResponseType:
635
+ """Get Ledger Balance
636
+
637
+ Get ledger balance at a specific point in time (time travel query). This calculates the balance as of a specific effective_at and recorded_at timestamp.
638
+
639
+ :param tenant_id: Tenant identifier (required)
640
+ :type tenant_id: str
641
+ :param pool_id: Pool identifier (required)
642
+ :type pool_id: str
643
+ :param wallet_id: Wallet identifier (required)
644
+ :type wallet_id: str
645
+ :param as_of_effective_at: Effective timestamp (for time travel) (required)
646
+ :type as_of_effective_at: datetime
647
+ :param as_of_recorded_at: Recorded timestamp (for time travel)
648
+ :type as_of_recorded_at: datetime
649
+ :param _request_timeout: timeout setting for this request. If one
650
+ number provided, it will be total request
651
+ timeout. It can also be a pair (tuple) of
652
+ (connection, read) timeouts.
653
+ :type _request_timeout: int, tuple(int, int), optional
654
+ :param _request_auth: set to override the auth_settings for an a single
655
+ request; this effectively ignores the
656
+ authentication in the spec for a single request.
657
+ :type _request_auth: dict, optional
658
+ :param _content_type: force content-type for the request.
659
+ :type _content_type: str, Optional
660
+ :param _headers: set to override the headers for a single
661
+ request; this effectively ignores the headers
662
+ in the spec for a single request.
663
+ :type _headers: dict, optional
664
+ :param _host_index: set to override the host_index for a single
665
+ request; this effectively ignores the host_index
666
+ in the spec for a single request.
667
+ :type _host_index: int, optional
668
+ :return: Returns the result object.
669
+ """ # noqa: E501
670
+
671
+ _param = self._get_ledger_balance_serialize(
672
+ tenant_id=tenant_id,
673
+ pool_id=pool_id,
674
+ wallet_id=wallet_id,
675
+ as_of_effective_at=as_of_effective_at,
676
+ as_of_recorded_at=as_of_recorded_at,
677
+ _request_auth=_request_auth,
678
+ _content_type=_content_type,
679
+ _headers=_headers,
680
+ _host_index=_host_index
681
+ )
682
+
683
+ _response_types_map: Dict[str, Optional[str]] = {
684
+ '200': "object",
685
+ '422': "HTTPValidationError",
686
+ }
687
+ response_data = self.api_client.call_api(
688
+ *_param,
689
+ _request_timeout=_request_timeout
690
+ )
691
+ return response_data.response
692
+
693
+
694
+ def _get_ledger_balance_serialize(
695
+ self,
696
+ tenant_id,
697
+ pool_id,
698
+ wallet_id,
699
+ as_of_effective_at,
700
+ as_of_recorded_at,
701
+ _request_auth,
702
+ _content_type,
703
+ _headers,
704
+ _host_index,
705
+ ) -> RequestSerialized:
706
+
707
+ _host = None
708
+
709
+ _collection_formats: Dict[str, str] = {
710
+ }
711
+
712
+ _path_params: Dict[str, str] = {}
713
+ _query_params: List[Tuple[str, str]] = []
714
+ _header_params: Dict[str, Optional[str]] = _headers or {}
715
+ _form_params: List[Tuple[str, str]] = []
716
+ _files: Dict[
717
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
718
+ ] = {}
719
+ _body_params: Optional[bytes] = None
720
+
721
+ # process the path parameters
722
+ # process the query parameters
723
+ if tenant_id is not None:
724
+
725
+ _query_params.append(('tenant_id', tenant_id))
726
+
727
+ if pool_id is not None:
728
+
729
+ _query_params.append(('pool_id', pool_id))
730
+
731
+ if wallet_id is not None:
732
+
733
+ _query_params.append(('wallet_id', wallet_id))
734
+
735
+ if as_of_effective_at is not None:
736
+ if isinstance(as_of_effective_at, datetime):
737
+ _query_params.append(
738
+ (
739
+ 'as_of_effective_at',
740
+ as_of_effective_at.strftime(
741
+ self.api_client.configuration.datetime_format
742
+ )
743
+ )
744
+ )
745
+ else:
746
+ _query_params.append(('as_of_effective_at', as_of_effective_at))
747
+
748
+ if as_of_recorded_at is not None:
749
+ if isinstance(as_of_recorded_at, datetime):
750
+ _query_params.append(
751
+ (
752
+ 'as_of_recorded_at',
753
+ as_of_recorded_at.strftime(
754
+ self.api_client.configuration.datetime_format
755
+ )
756
+ )
757
+ )
758
+ else:
759
+ _query_params.append(('as_of_recorded_at', as_of_recorded_at))
760
+
761
+ # process the header parameters
762
+ # process the form parameters
763
+ # process the body parameter
764
+
765
+
766
+ # set the HTTP header `Accept`
767
+ if 'Accept' not in _header_params:
768
+ _header_params['Accept'] = self.api_client.select_header_accept(
769
+ [
770
+ 'application/json'
771
+ ]
772
+ )
773
+
774
+
775
+ # authentication setting
776
+ _auth_settings: List[str] = [
777
+ ]
778
+
779
+ return self.api_client.param_serialize(
780
+ method='GET',
781
+ resource_path='/v1/ledger/balance',
782
+ path_params=_path_params,
783
+ query_params=_query_params,
784
+ header_params=_header_params,
785
+ body=_body_params,
786
+ post_params=_form_params,
787
+ files=_files,
788
+ auth_settings=_auth_settings,
789
+ collection_formats=_collection_formats,
790
+ _host=_host,
791
+ _request_auth=_request_auth
792
+ )
793
+
794
+
795
+
796
+
797
+ @validate_call
798
+ def get_wallet_state(
799
+ self,
800
+ wallet_id: Annotated[StrictStr, Field(description="Wallet identifier")],
801
+ tenant_id: Annotated[Optional[StrictStr], Field(description="Tenant identifier (resolved from auth when absent)")] = None,
802
+ pool_id: Annotated[Optional[StrictStr], Field(description="Credit pool identifier (resolved from auth when absent)")] = None,
803
+ as_of: Annotated[Optional[datetime], Field(description="As-of timestamp (for time travel, legacy, use effective_as_of instead)")] = None,
804
+ consistency: Annotated[Optional[StrictStr], Field(description="Consistency level: 'eventual' or 'STRONG'")] = None,
805
+ effective_as_of: Annotated[Optional[datetime], Field(description="Effective as-of timestamp (business time) for time travel")] = None,
806
+ recorded_as_of: Annotated[Optional[datetime], Field(description="Recorded as-of timestamp (system time) for time travel")] = None,
807
+ consistent_view: Annotated[Optional[StrictBool], Field(description="Use strong consistency (overrides consistency param if True)")] = None,
808
+ _request_timeout: Union[
809
+ None,
810
+ Annotated[StrictFloat, Field(gt=0)],
811
+ Tuple[
812
+ Annotated[StrictFloat, Field(gt=0)],
813
+ Annotated[StrictFloat, Field(gt=0)]
814
+ ]
815
+ ] = None,
816
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
817
+ _content_type: Optional[StrictStr] = None,
818
+ _headers: Optional[Dict[StrictStr, Any]] = None,
819
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
820
+ ) -> object:
821
+ """Get Wallet State
822
+
823
+ Get wallet state (balance and credit state). - Eventually consistent by default (fast, uses denormalized remaining_micros) - STRONG consistency available for admin/debug (slower, uses state projection) - Returns balance, state (OK/LOW/OVERDRAFT/OVER_CAP), and metadata - Includes last_projected_at and projected_from_recorded_cut for STRONG consistency - Sets cache headers for eventual consistency reads
824
+
825
+ :param wallet_id: Wallet identifier (required)
826
+ :type wallet_id: str
827
+ :param tenant_id: Tenant identifier (resolved from auth when absent)
828
+ :type tenant_id: str
829
+ :param pool_id: Credit pool identifier (resolved from auth when absent)
830
+ :type pool_id: str
831
+ :param as_of: As-of timestamp (for time travel, legacy, use effective_as_of instead)
832
+ :type as_of: datetime
833
+ :param consistency: Consistency level: 'eventual' or 'STRONG'
834
+ :type consistency: str
835
+ :param effective_as_of: Effective as-of timestamp (business time) for time travel
836
+ :type effective_as_of: datetime
837
+ :param recorded_as_of: Recorded as-of timestamp (system time) for time travel
838
+ :type recorded_as_of: datetime
839
+ :param consistent_view: Use strong consistency (overrides consistency param if True)
840
+ :type consistent_view: bool
841
+ :param _request_timeout: timeout setting for this request. If one
842
+ number provided, it will be total request
843
+ timeout. It can also be a pair (tuple) of
844
+ (connection, read) timeouts.
845
+ :type _request_timeout: int, tuple(int, int), optional
846
+ :param _request_auth: set to override the auth_settings for an a single
847
+ request; this effectively ignores the
848
+ authentication in the spec for a single request.
849
+ :type _request_auth: dict, optional
850
+ :param _content_type: force content-type for the request.
851
+ :type _content_type: str, Optional
852
+ :param _headers: set to override the headers for a single
853
+ request; this effectively ignores the headers
854
+ in the spec for a single request.
855
+ :type _headers: dict, optional
856
+ :param _host_index: set to override the host_index for a single
857
+ request; this effectively ignores the host_index
858
+ in the spec for a single request.
859
+ :type _host_index: int, optional
860
+ :return: Returns the result object.
861
+ """ # noqa: E501
862
+
863
+ _param = self._get_wallet_state_serialize(
864
+ wallet_id=wallet_id,
865
+ tenant_id=tenant_id,
866
+ pool_id=pool_id,
867
+ as_of=as_of,
868
+ consistency=consistency,
869
+ effective_as_of=effective_as_of,
870
+ recorded_as_of=recorded_as_of,
871
+ consistent_view=consistent_view,
872
+ _request_auth=_request_auth,
873
+ _content_type=_content_type,
874
+ _headers=_headers,
875
+ _host_index=_host_index
876
+ )
877
+
878
+ _response_types_map: Dict[str, Optional[str]] = {
879
+ '200': "object",
880
+ '422': "HTTPValidationError",
881
+ }
882
+ response_data = self.api_client.call_api(
883
+ *_param,
884
+ _request_timeout=_request_timeout
885
+ )
886
+ response_data.read()
887
+ return self.api_client.response_deserialize(
888
+ response_data=response_data,
889
+ response_types_map=_response_types_map,
890
+ ).data
891
+
892
+
893
+ @validate_call
894
+ def get_wallet_state_with_http_info(
895
+ self,
896
+ wallet_id: Annotated[StrictStr, Field(description="Wallet identifier")],
897
+ tenant_id: Annotated[Optional[StrictStr], Field(description="Tenant identifier (resolved from auth when absent)")] = None,
898
+ pool_id: Annotated[Optional[StrictStr], Field(description="Credit pool identifier (resolved from auth when absent)")] = None,
899
+ as_of: Annotated[Optional[datetime], Field(description="As-of timestamp (for time travel, legacy, use effective_as_of instead)")] = None,
900
+ consistency: Annotated[Optional[StrictStr], Field(description="Consistency level: 'eventual' or 'STRONG'")] = None,
901
+ effective_as_of: Annotated[Optional[datetime], Field(description="Effective as-of timestamp (business time) for time travel")] = None,
902
+ recorded_as_of: Annotated[Optional[datetime], Field(description="Recorded as-of timestamp (system time) for time travel")] = None,
903
+ consistent_view: Annotated[Optional[StrictBool], Field(description="Use strong consistency (overrides consistency param if True)")] = None,
904
+ _request_timeout: Union[
905
+ None,
906
+ Annotated[StrictFloat, Field(gt=0)],
907
+ Tuple[
908
+ Annotated[StrictFloat, Field(gt=0)],
909
+ Annotated[StrictFloat, Field(gt=0)]
910
+ ]
911
+ ] = None,
912
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
913
+ _content_type: Optional[StrictStr] = None,
914
+ _headers: Optional[Dict[StrictStr, Any]] = None,
915
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
916
+ ) -> ApiResponse[object]:
917
+ """Get Wallet State
918
+
919
+ Get wallet state (balance and credit state). - Eventually consistent by default (fast, uses denormalized remaining_micros) - STRONG consistency available for admin/debug (slower, uses state projection) - Returns balance, state (OK/LOW/OVERDRAFT/OVER_CAP), and metadata - Includes last_projected_at and projected_from_recorded_cut for STRONG consistency - Sets cache headers for eventual consistency reads
920
+
921
+ :param wallet_id: Wallet identifier (required)
922
+ :type wallet_id: str
923
+ :param tenant_id: Tenant identifier (resolved from auth when absent)
924
+ :type tenant_id: str
925
+ :param pool_id: Credit pool identifier (resolved from auth when absent)
926
+ :type pool_id: str
927
+ :param as_of: As-of timestamp (for time travel, legacy, use effective_as_of instead)
928
+ :type as_of: datetime
929
+ :param consistency: Consistency level: 'eventual' or 'STRONG'
930
+ :type consistency: str
931
+ :param effective_as_of: Effective as-of timestamp (business time) for time travel
932
+ :type effective_as_of: datetime
933
+ :param recorded_as_of: Recorded as-of timestamp (system time) for time travel
934
+ :type recorded_as_of: datetime
935
+ :param consistent_view: Use strong consistency (overrides consistency param if True)
936
+ :type consistent_view: bool
937
+ :param _request_timeout: timeout setting for this request. If one
938
+ number provided, it will be total request
939
+ timeout. It can also be a pair (tuple) of
940
+ (connection, read) timeouts.
941
+ :type _request_timeout: int, tuple(int, int), optional
942
+ :param _request_auth: set to override the auth_settings for an a single
943
+ request; this effectively ignores the
944
+ authentication in the spec for a single request.
945
+ :type _request_auth: dict, optional
946
+ :param _content_type: force content-type for the request.
947
+ :type _content_type: str, Optional
948
+ :param _headers: set to override the headers for a single
949
+ request; this effectively ignores the headers
950
+ in the spec for a single request.
951
+ :type _headers: dict, optional
952
+ :param _host_index: set to override the host_index for a single
953
+ request; this effectively ignores the host_index
954
+ in the spec for a single request.
955
+ :type _host_index: int, optional
956
+ :return: Returns the result object.
957
+ """ # noqa: E501
958
+
959
+ _param = self._get_wallet_state_serialize(
960
+ wallet_id=wallet_id,
961
+ tenant_id=tenant_id,
962
+ pool_id=pool_id,
963
+ as_of=as_of,
964
+ consistency=consistency,
965
+ effective_as_of=effective_as_of,
966
+ recorded_as_of=recorded_as_of,
967
+ consistent_view=consistent_view,
968
+ _request_auth=_request_auth,
969
+ _content_type=_content_type,
970
+ _headers=_headers,
971
+ _host_index=_host_index
972
+ )
973
+
974
+ _response_types_map: Dict[str, Optional[str]] = {
975
+ '200': "object",
976
+ '422': "HTTPValidationError",
977
+ }
978
+ response_data = self.api_client.call_api(
979
+ *_param,
980
+ _request_timeout=_request_timeout
981
+ )
982
+ response_data.read()
983
+ return self.api_client.response_deserialize(
984
+ response_data=response_data,
985
+ response_types_map=_response_types_map,
986
+ )
987
+
988
+
989
+ @validate_call
990
+ def get_wallet_state_without_preload_content(
991
+ self,
992
+ wallet_id: Annotated[StrictStr, Field(description="Wallet identifier")],
993
+ tenant_id: Annotated[Optional[StrictStr], Field(description="Tenant identifier (resolved from auth when absent)")] = None,
994
+ pool_id: Annotated[Optional[StrictStr], Field(description="Credit pool identifier (resolved from auth when absent)")] = None,
995
+ as_of: Annotated[Optional[datetime], Field(description="As-of timestamp (for time travel, legacy, use effective_as_of instead)")] = None,
996
+ consistency: Annotated[Optional[StrictStr], Field(description="Consistency level: 'eventual' or 'STRONG'")] = None,
997
+ effective_as_of: Annotated[Optional[datetime], Field(description="Effective as-of timestamp (business time) for time travel")] = None,
998
+ recorded_as_of: Annotated[Optional[datetime], Field(description="Recorded as-of timestamp (system time) for time travel")] = None,
999
+ consistent_view: Annotated[Optional[StrictBool], Field(description="Use strong consistency (overrides consistency param if True)")] = None,
1000
+ _request_timeout: Union[
1001
+ None,
1002
+ Annotated[StrictFloat, Field(gt=0)],
1003
+ Tuple[
1004
+ Annotated[StrictFloat, Field(gt=0)],
1005
+ Annotated[StrictFloat, Field(gt=0)]
1006
+ ]
1007
+ ] = None,
1008
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1009
+ _content_type: Optional[StrictStr] = None,
1010
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1011
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1012
+ ) -> RESTResponseType:
1013
+ """Get Wallet State
1014
+
1015
+ Get wallet state (balance and credit state). - Eventually consistent by default (fast, uses denormalized remaining_micros) - STRONG consistency available for admin/debug (slower, uses state projection) - Returns balance, state (OK/LOW/OVERDRAFT/OVER_CAP), and metadata - Includes last_projected_at and projected_from_recorded_cut for STRONG consistency - Sets cache headers for eventual consistency reads
1016
+
1017
+ :param wallet_id: Wallet identifier (required)
1018
+ :type wallet_id: str
1019
+ :param tenant_id: Tenant identifier (resolved from auth when absent)
1020
+ :type tenant_id: str
1021
+ :param pool_id: Credit pool identifier (resolved from auth when absent)
1022
+ :type pool_id: str
1023
+ :param as_of: As-of timestamp (for time travel, legacy, use effective_as_of instead)
1024
+ :type as_of: datetime
1025
+ :param consistency: Consistency level: 'eventual' or 'STRONG'
1026
+ :type consistency: str
1027
+ :param effective_as_of: Effective as-of timestamp (business time) for time travel
1028
+ :type effective_as_of: datetime
1029
+ :param recorded_as_of: Recorded as-of timestamp (system time) for time travel
1030
+ :type recorded_as_of: datetime
1031
+ :param consistent_view: Use strong consistency (overrides consistency param if True)
1032
+ :type consistent_view: bool
1033
+ :param _request_timeout: timeout setting for this request. If one
1034
+ number provided, it will be total request
1035
+ timeout. It can also be a pair (tuple) of
1036
+ (connection, read) timeouts.
1037
+ :type _request_timeout: int, tuple(int, int), optional
1038
+ :param _request_auth: set to override the auth_settings for an a single
1039
+ request; this effectively ignores the
1040
+ authentication in the spec for a single request.
1041
+ :type _request_auth: dict, optional
1042
+ :param _content_type: force content-type for the request.
1043
+ :type _content_type: str, Optional
1044
+ :param _headers: set to override the headers for a single
1045
+ request; this effectively ignores the headers
1046
+ in the spec for a single request.
1047
+ :type _headers: dict, optional
1048
+ :param _host_index: set to override the host_index for a single
1049
+ request; this effectively ignores the host_index
1050
+ in the spec for a single request.
1051
+ :type _host_index: int, optional
1052
+ :return: Returns the result object.
1053
+ """ # noqa: E501
1054
+
1055
+ _param = self._get_wallet_state_serialize(
1056
+ wallet_id=wallet_id,
1057
+ tenant_id=tenant_id,
1058
+ pool_id=pool_id,
1059
+ as_of=as_of,
1060
+ consistency=consistency,
1061
+ effective_as_of=effective_as_of,
1062
+ recorded_as_of=recorded_as_of,
1063
+ consistent_view=consistent_view,
1064
+ _request_auth=_request_auth,
1065
+ _content_type=_content_type,
1066
+ _headers=_headers,
1067
+ _host_index=_host_index
1068
+ )
1069
+
1070
+ _response_types_map: Dict[str, Optional[str]] = {
1071
+ '200': "object",
1072
+ '422': "HTTPValidationError",
1073
+ }
1074
+ response_data = self.api_client.call_api(
1075
+ *_param,
1076
+ _request_timeout=_request_timeout
1077
+ )
1078
+ return response_data.response
1079
+
1080
+
1081
+ def _get_wallet_state_serialize(
1082
+ self,
1083
+ wallet_id,
1084
+ tenant_id,
1085
+ pool_id,
1086
+ as_of,
1087
+ consistency,
1088
+ effective_as_of,
1089
+ recorded_as_of,
1090
+ consistent_view,
1091
+ _request_auth,
1092
+ _content_type,
1093
+ _headers,
1094
+ _host_index,
1095
+ ) -> RequestSerialized:
1096
+
1097
+ _host = None
1098
+
1099
+ _collection_formats: Dict[str, str] = {
1100
+ }
1101
+
1102
+ _path_params: Dict[str, str] = {}
1103
+ _query_params: List[Tuple[str, str]] = []
1104
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1105
+ _form_params: List[Tuple[str, str]] = []
1106
+ _files: Dict[
1107
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1108
+ ] = {}
1109
+ _body_params: Optional[bytes] = None
1110
+
1111
+ # process the path parameters
1112
+ # process the query parameters
1113
+ if wallet_id is not None:
1114
+
1115
+ _query_params.append(('wallet_id', wallet_id))
1116
+
1117
+ if tenant_id is not None:
1118
+
1119
+ _query_params.append(('tenant_id', tenant_id))
1120
+
1121
+ if pool_id is not None:
1122
+
1123
+ _query_params.append(('pool_id', pool_id))
1124
+
1125
+ if as_of is not None:
1126
+ if isinstance(as_of, datetime):
1127
+ _query_params.append(
1128
+ (
1129
+ 'as_of',
1130
+ as_of.strftime(
1131
+ self.api_client.configuration.datetime_format
1132
+ )
1133
+ )
1134
+ )
1135
+ else:
1136
+ _query_params.append(('as_of', as_of))
1137
+
1138
+ if consistency is not None:
1139
+
1140
+ _query_params.append(('consistency', consistency))
1141
+
1142
+ if effective_as_of is not None:
1143
+ if isinstance(effective_as_of, datetime):
1144
+ _query_params.append(
1145
+ (
1146
+ 'effective_as_of',
1147
+ effective_as_of.strftime(
1148
+ self.api_client.configuration.datetime_format
1149
+ )
1150
+ )
1151
+ )
1152
+ else:
1153
+ _query_params.append(('effective_as_of', effective_as_of))
1154
+
1155
+ if recorded_as_of is not None:
1156
+ if isinstance(recorded_as_of, datetime):
1157
+ _query_params.append(
1158
+ (
1159
+ 'recorded_as_of',
1160
+ recorded_as_of.strftime(
1161
+ self.api_client.configuration.datetime_format
1162
+ )
1163
+ )
1164
+ )
1165
+ else:
1166
+ _query_params.append(('recorded_as_of', recorded_as_of))
1167
+
1168
+ if consistent_view is not None:
1169
+
1170
+ _query_params.append(('consistent_view', consistent_view))
1171
+
1172
+ # process the header parameters
1173
+ # process the form parameters
1174
+ # process the body parameter
1175
+
1176
+
1177
+ # set the HTTP header `Accept`
1178
+ if 'Accept' not in _header_params:
1179
+ _header_params['Accept'] = self.api_client.select_header_accept(
1180
+ [
1181
+ 'application/json'
1182
+ ]
1183
+ )
1184
+
1185
+
1186
+ # authentication setting
1187
+ _auth_settings: List[str] = [
1188
+ 'HTTPBearer'
1189
+ ]
1190
+
1191
+ return self.api_client.param_serialize(
1192
+ method='GET',
1193
+ resource_path='/v1/ledger/state',
1194
+ path_params=_path_params,
1195
+ query_params=_query_params,
1196
+ header_params=_header_params,
1197
+ body=_body_params,
1198
+ post_params=_form_params,
1199
+ files=_files,
1200
+ auth_settings=_auth_settings,
1201
+ collection_formats=_collection_formats,
1202
+ _host=_host,
1203
+ _request_auth=_request_auth
1204
+ )
1205
+
1206
+
1207
+
1208
+
1209
+ @validate_call
1210
+ def get_wallet_states_batch(
1211
+ self,
1212
+ batch_wallet_state_request: BatchWalletStateRequest,
1213
+ _request_timeout: Union[
1214
+ None,
1215
+ Annotated[StrictFloat, Field(gt=0)],
1216
+ Tuple[
1217
+ Annotated[StrictFloat, Field(gt=0)],
1218
+ Annotated[StrictFloat, Field(gt=0)]
1219
+ ]
1220
+ ] = None,
1221
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1222
+ _content_type: Optional[StrictStr] = None,
1223
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1224
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1225
+ ) -> BatchWalletStateResponse:
1226
+ """Get Wallet States Batch
1227
+
1228
+ Get states for multiple wallets in a single request. This endpoint allows fetching wallet states (balance, state) for multiple wallets in a single API call, which is much more efficient than making individual requests. - Supports up to 100 wallets per request - Eventually consistent by default (fast, uses denormalized remaining_micros) - STRONG consistency available for admin/debug (slower, uses state projection) - Returns states and any errors separately
1229
+
1230
+ :param batch_wallet_state_request: (required)
1231
+ :type batch_wallet_state_request: BatchWalletStateRequest
1232
+ :param _request_timeout: timeout setting for this request. If one
1233
+ number provided, it will be total request
1234
+ timeout. It can also be a pair (tuple) of
1235
+ (connection, read) timeouts.
1236
+ :type _request_timeout: int, tuple(int, int), optional
1237
+ :param _request_auth: set to override the auth_settings for an a single
1238
+ request; this effectively ignores the
1239
+ authentication in the spec for a single request.
1240
+ :type _request_auth: dict, optional
1241
+ :param _content_type: force content-type for the request.
1242
+ :type _content_type: str, Optional
1243
+ :param _headers: set to override the headers for a single
1244
+ request; this effectively ignores the headers
1245
+ in the spec for a single request.
1246
+ :type _headers: dict, optional
1247
+ :param _host_index: set to override the host_index for a single
1248
+ request; this effectively ignores the host_index
1249
+ in the spec for a single request.
1250
+ :type _host_index: int, optional
1251
+ :return: Returns the result object.
1252
+ """ # noqa: E501
1253
+
1254
+ _param = self._get_wallet_states_batch_serialize(
1255
+ batch_wallet_state_request=batch_wallet_state_request,
1256
+ _request_auth=_request_auth,
1257
+ _content_type=_content_type,
1258
+ _headers=_headers,
1259
+ _host_index=_host_index
1260
+ )
1261
+
1262
+ _response_types_map: Dict[str, Optional[str]] = {
1263
+ '200': "BatchWalletStateResponse",
1264
+ '422': "HTTPValidationError",
1265
+ }
1266
+ response_data = self.api_client.call_api(
1267
+ *_param,
1268
+ _request_timeout=_request_timeout
1269
+ )
1270
+ response_data.read()
1271
+ return self.api_client.response_deserialize(
1272
+ response_data=response_data,
1273
+ response_types_map=_response_types_map,
1274
+ ).data
1275
+
1276
+
1277
+ @validate_call
1278
+ def get_wallet_states_batch_with_http_info(
1279
+ self,
1280
+ batch_wallet_state_request: BatchWalletStateRequest,
1281
+ _request_timeout: Union[
1282
+ None,
1283
+ Annotated[StrictFloat, Field(gt=0)],
1284
+ Tuple[
1285
+ Annotated[StrictFloat, Field(gt=0)],
1286
+ Annotated[StrictFloat, Field(gt=0)]
1287
+ ]
1288
+ ] = None,
1289
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1290
+ _content_type: Optional[StrictStr] = None,
1291
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1292
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1293
+ ) -> ApiResponse[BatchWalletStateResponse]:
1294
+ """Get Wallet States Batch
1295
+
1296
+ Get states for multiple wallets in a single request. This endpoint allows fetching wallet states (balance, state) for multiple wallets in a single API call, which is much more efficient than making individual requests. - Supports up to 100 wallets per request - Eventually consistent by default (fast, uses denormalized remaining_micros) - STRONG consistency available for admin/debug (slower, uses state projection) - Returns states and any errors separately
1297
+
1298
+ :param batch_wallet_state_request: (required)
1299
+ :type batch_wallet_state_request: BatchWalletStateRequest
1300
+ :param _request_timeout: timeout setting for this request. If one
1301
+ number provided, it will be total request
1302
+ timeout. It can also be a pair (tuple) of
1303
+ (connection, read) timeouts.
1304
+ :type _request_timeout: int, tuple(int, int), optional
1305
+ :param _request_auth: set to override the auth_settings for an a single
1306
+ request; this effectively ignores the
1307
+ authentication in the spec for a single request.
1308
+ :type _request_auth: dict, optional
1309
+ :param _content_type: force content-type for the request.
1310
+ :type _content_type: str, Optional
1311
+ :param _headers: set to override the headers for a single
1312
+ request; this effectively ignores the headers
1313
+ in the spec for a single request.
1314
+ :type _headers: dict, optional
1315
+ :param _host_index: set to override the host_index for a single
1316
+ request; this effectively ignores the host_index
1317
+ in the spec for a single request.
1318
+ :type _host_index: int, optional
1319
+ :return: Returns the result object.
1320
+ """ # noqa: E501
1321
+
1322
+ _param = self._get_wallet_states_batch_serialize(
1323
+ batch_wallet_state_request=batch_wallet_state_request,
1324
+ _request_auth=_request_auth,
1325
+ _content_type=_content_type,
1326
+ _headers=_headers,
1327
+ _host_index=_host_index
1328
+ )
1329
+
1330
+ _response_types_map: Dict[str, Optional[str]] = {
1331
+ '200': "BatchWalletStateResponse",
1332
+ '422': "HTTPValidationError",
1333
+ }
1334
+ response_data = self.api_client.call_api(
1335
+ *_param,
1336
+ _request_timeout=_request_timeout
1337
+ )
1338
+ response_data.read()
1339
+ return self.api_client.response_deserialize(
1340
+ response_data=response_data,
1341
+ response_types_map=_response_types_map,
1342
+ )
1343
+
1344
+
1345
+ @validate_call
1346
+ def get_wallet_states_batch_without_preload_content(
1347
+ self,
1348
+ batch_wallet_state_request: BatchWalletStateRequest,
1349
+ _request_timeout: Union[
1350
+ None,
1351
+ Annotated[StrictFloat, Field(gt=0)],
1352
+ Tuple[
1353
+ Annotated[StrictFloat, Field(gt=0)],
1354
+ Annotated[StrictFloat, Field(gt=0)]
1355
+ ]
1356
+ ] = None,
1357
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1358
+ _content_type: Optional[StrictStr] = None,
1359
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1360
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1361
+ ) -> RESTResponseType:
1362
+ """Get Wallet States Batch
1363
+
1364
+ Get states for multiple wallets in a single request. This endpoint allows fetching wallet states (balance, state) for multiple wallets in a single API call, which is much more efficient than making individual requests. - Supports up to 100 wallets per request - Eventually consistent by default (fast, uses denormalized remaining_micros) - STRONG consistency available for admin/debug (slower, uses state projection) - Returns states and any errors separately
1365
+
1366
+ :param batch_wallet_state_request: (required)
1367
+ :type batch_wallet_state_request: BatchWalletStateRequest
1368
+ :param _request_timeout: timeout setting for this request. If one
1369
+ number provided, it will be total request
1370
+ timeout. It can also be a pair (tuple) of
1371
+ (connection, read) timeouts.
1372
+ :type _request_timeout: int, tuple(int, int), optional
1373
+ :param _request_auth: set to override the auth_settings for an a single
1374
+ request; this effectively ignores the
1375
+ authentication in the spec for a single request.
1376
+ :type _request_auth: dict, optional
1377
+ :param _content_type: force content-type for the request.
1378
+ :type _content_type: str, Optional
1379
+ :param _headers: set to override the headers for a single
1380
+ request; this effectively ignores the headers
1381
+ in the spec for a single request.
1382
+ :type _headers: dict, optional
1383
+ :param _host_index: set to override the host_index for a single
1384
+ request; this effectively ignores the host_index
1385
+ in the spec for a single request.
1386
+ :type _host_index: int, optional
1387
+ :return: Returns the result object.
1388
+ """ # noqa: E501
1389
+
1390
+ _param = self._get_wallet_states_batch_serialize(
1391
+ batch_wallet_state_request=batch_wallet_state_request,
1392
+ _request_auth=_request_auth,
1393
+ _content_type=_content_type,
1394
+ _headers=_headers,
1395
+ _host_index=_host_index
1396
+ )
1397
+
1398
+ _response_types_map: Dict[str, Optional[str]] = {
1399
+ '200': "BatchWalletStateResponse",
1400
+ '422': "HTTPValidationError",
1401
+ }
1402
+ response_data = self.api_client.call_api(
1403
+ *_param,
1404
+ _request_timeout=_request_timeout
1405
+ )
1406
+ return response_data.response
1407
+
1408
+
1409
+ def _get_wallet_states_batch_serialize(
1410
+ self,
1411
+ batch_wallet_state_request,
1412
+ _request_auth,
1413
+ _content_type,
1414
+ _headers,
1415
+ _host_index,
1416
+ ) -> RequestSerialized:
1417
+
1418
+ _host = None
1419
+
1420
+ _collection_formats: Dict[str, str] = {
1421
+ }
1422
+
1423
+ _path_params: Dict[str, str] = {}
1424
+ _query_params: List[Tuple[str, str]] = []
1425
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1426
+ _form_params: List[Tuple[str, str]] = []
1427
+ _files: Dict[
1428
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1429
+ ] = {}
1430
+ _body_params: Optional[bytes] = None
1431
+
1432
+ # process the path parameters
1433
+ # process the query parameters
1434
+ # process the header parameters
1435
+ # process the form parameters
1436
+ # process the body parameter
1437
+ if batch_wallet_state_request is not None:
1438
+ _body_params = batch_wallet_state_request
1439
+
1440
+
1441
+ # set the HTTP header `Accept`
1442
+ if 'Accept' not in _header_params:
1443
+ _header_params['Accept'] = self.api_client.select_header_accept(
1444
+ [
1445
+ 'application/json'
1446
+ ]
1447
+ )
1448
+
1449
+ # set the HTTP header `Content-Type`
1450
+ if _content_type:
1451
+ _header_params['Content-Type'] = _content_type
1452
+ else:
1453
+ _default_content_type = (
1454
+ self.api_client.select_header_content_type(
1455
+ [
1456
+ 'application/json'
1457
+ ]
1458
+ )
1459
+ )
1460
+ if _default_content_type is not None:
1461
+ _header_params['Content-Type'] = _default_content_type
1462
+
1463
+ # authentication setting
1464
+ _auth_settings: List[str] = [
1465
+ 'HTTPBearer'
1466
+ ]
1467
+
1468
+ return self.api_client.param_serialize(
1469
+ method='POST',
1470
+ resource_path='/v1/ledger/state/batch',
1471
+ path_params=_path_params,
1472
+ query_params=_query_params,
1473
+ header_params=_header_params,
1474
+ body=_body_params,
1475
+ post_params=_form_params,
1476
+ files=_files,
1477
+ auth_settings=_auth_settings,
1478
+ collection_formats=_collection_formats,
1479
+ _host=_host,
1480
+ _request_auth=_request_auth
1481
+ )
1482
+
1483
+