orb-apiamtic-sdk 0.0.1

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 (659) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +177 -0
  4. data/bin/console +15 -0
  5. data/lib/api_reference/api_helper.rb +10 -0
  6. data/lib/api_reference/apis/alert_api.rb +497 -0
  7. data/lib/api_reference/apis/availability_api.rb +51 -0
  8. data/lib/api_reference/apis/base_api.rb +65 -0
  9. data/lib/api_reference/apis/coupon_api.rb +250 -0
  10. data/lib/api_reference/apis/credit_api.rb +1269 -0
  11. data/lib/api_reference/apis/credit_note_api.rb +181 -0
  12. data/lib/api_reference/apis/customer_api.rb +1058 -0
  13. data/lib/api_reference/apis/dimensional_price_group_api.rb +289 -0
  14. data/lib/api_reference/apis/event_api.rb +776 -0
  15. data/lib/api_reference/apis/invoice_api.rb +933 -0
  16. data/lib/api_reference/apis/item_api.rb +224 -0
  17. data/lib/api_reference/apis/license_api.rb +452 -0
  18. data/lib/api_reference/apis/license_type_api.rb +147 -0
  19. data/lib/api_reference/apis/metric_api.rb +211 -0
  20. data/lib/api_reference/apis/plan_api.rb +763 -0
  21. data/lib/api_reference/apis/price_api.rb +538 -0
  22. data/lib/api_reference/apis/price_interval_api.rb +134 -0
  23. data/lib/api_reference/apis/subscription_api.rb +1575 -0
  24. data/lib/api_reference/apis/subscription_change_api.rb +213 -0
  25. data/lib/api_reference/client.rb +175 -0
  26. data/lib/api_reference/configuration.rb +166 -0
  27. data/lib/api_reference/exceptions/api_exception.rb +21 -0
  28. data/lib/api_reference/exceptions/authorization_error_exception.rb +60 -0
  29. data/lib/api_reference/exceptions/idempotency_request_mismatch_exception.rb +60 -0
  30. data/lib/api_reference/exceptions/server_error_exception.rb +61 -0
  31. data/lib/api_reference/exceptions/too_many_requests_exception.rb +60 -0
  32. data/lib/api_reference/http/api_response.rb +19 -0
  33. data/lib/api_reference/http/auth/oauth_2.rb +53 -0
  34. data/lib/api_reference/http/http_call_back.rb +10 -0
  35. data/lib/api_reference/http/http_method_enum.rb +10 -0
  36. data/lib/api_reference/http/http_request.rb +10 -0
  37. data/lib/api_reference/http/http_response.rb +10 -0
  38. data/lib/api_reference/http/proxy_settings.rb +22 -0
  39. data/lib/api_reference/logging/configuration/api_logging_configuration.rb +186 -0
  40. data/lib/api_reference/logging/sdk_logger.rb +17 -0
  41. data/lib/api_reference/models/accounting_provider.rb +108 -0
  42. data/lib/api_reference/models/accounting_provider_config.rb +84 -0
  43. data/lib/api_reference/models/accounting_sync_configuration.rb +117 -0
  44. data/lib/api_reference/models/action.rb +68 -0
  45. data/lib/api_reference/models/add_adjustment_interval_params.rb +148 -0
  46. data/lib/api_reference/models/add_amendment_credit_ledger_entry_request_params.rb +144 -0
  47. data/lib/api_reference/models/add_credit_top_up_request_params.rb +149 -0
  48. data/lib/api_reference/models/add_decrement_credit_ledger_entry_request_params.rb +145 -0
  49. data/lib/api_reference/models/add_edit_price_interval_params.rb +161 -0
  50. data/lib/api_reference/models/add_expiration_change_credit_ledger_entry_request_params.rb +193 -0
  51. data/lib/api_reference/models/add_increment_credit_ledger_entry_request_params.rb +237 -0
  52. data/lib/api_reference/models/add_plan_adjustment_params.rb +90 -0
  53. data/lib/api_reference/models/add_plan_price_params.rb +103 -0
  54. data/lib/api_reference/models/add_price_interval_params.rb +297 -0
  55. data/lib/api_reference/models/add_subscription_adjustment_params.rb +146 -0
  56. data/lib/api_reference/models/add_subscription_price_params.rb +234 -0
  57. data/lib/api_reference/models/add_void_credit_ledger_entry_request_params.rb +169 -0
  58. data/lib/api_reference/models/address.rb +162 -0
  59. data/lib/api_reference/models/address_input.rb +131 -0
  60. data/lib/api_reference/models/adjustment_interval.rb +163 -0
  61. data/lib/api_reference/models/affected_block.rb +155 -0
  62. data/lib/api_reference/models/aggregated_cost.rb +131 -0
  63. data/lib/api_reference/models/alert.rb +339 -0
  64. data/lib/api_reference/models/alerts.rb +92 -0
  65. data/lib/api_reference/models/allocation.rb +157 -0
  66. data/lib/api_reference/models/amend_event_result.rb +73 -0
  67. data/lib/api_reference/models/amended_event.rb +115 -0
  68. data/lib/api_reference/models/amendment_ledger_entry.rb +301 -0
  69. data/lib/api_reference/models/amount_discount.rb +150 -0
  70. data/lib/api_reference/models/amount_discount_creation_params.rb +81 -0
  71. data/lib/api_reference/models/amount_discount_interval.rb +187 -0
  72. data/lib/api_reference/models/api_pagination_params.rb +74 -0
  73. data/lib/api_reference/models/apply_params.rb +136 -0
  74. data/lib/api_reference/models/auto_collection.rb +157 -0
  75. data/lib/api_reference/models/backfill.rb +214 -0
  76. data/lib/api_reference/models/backfill_status.rb +44 -0
  77. data/lib/api_reference/models/backfills.rb +92 -0
  78. data/lib/api_reference/models/balance_alert_status.rb +105 -0
  79. data/lib/api_reference/models/base_model.rb +110 -0
  80. data/lib/api_reference/models/billable_metric.rb +155 -0
  81. data/lib/api_reference/models/billable_metric_minified.rb +86 -0
  82. data/lib/api_reference/models/billable_metric_simple.rb +104 -0
  83. data/lib/api_reference/models/billable_metric_tiny.rb +86 -0
  84. data/lib/api_reference/models/billable_metrics.rb +92 -0
  85. data/lib/api_reference/models/billing_cycle_alignment.rb +40 -0
  86. data/lib/api_reference/models/billing_cycle_anchor_configuration.rb +117 -0
  87. data/lib/api_reference/models/billing_cycle_configuration.rb +104 -0
  88. data/lib/api_reference/models/billing_mode.rb +36 -0
  89. data/lib/api_reference/models/block_price_filter.rb +114 -0
  90. data/lib/api_reference/models/bulk_config.rb +87 -0
  91. data/lib/api_reference/models/bulk_price.rb +584 -0
  92. data/lib/api_reference/models/bulk_tier.rb +87 -0
  93. data/lib/api_reference/models/bulk_tier_with_proration.rb +88 -0
  94. data/lib/api_reference/models/bulk_with_filters_config.rb +98 -0
  95. data/lib/api_reference/models/bulk_with_filters_config1.rb +116 -0
  96. data/lib/api_reference/models/bulk_with_filters_price.rb +587 -0
  97. data/lib/api_reference/models/bulk_with_filters_tier.rb +88 -0
  98. data/lib/api_reference/models/bulk_with_proration_config.rb +69 -0
  99. data/lib/api_reference/models/bulk_with_proration_config1.rb +87 -0
  100. data/lib/api_reference/models/bulk_with_proration_price.rb +587 -0
  101. data/lib/api_reference/models/cadence.rb +52 -0
  102. data/lib/api_reference/models/cadence104.rb +52 -0
  103. data/lib/api_reference/models/cadence34.rb +48 -0
  104. data/lib/api_reference/models/cancel_option.rb +40 -0
  105. data/lib/api_reference/models/cancel_subscription_params.rb +102 -0
  106. data/lib/api_reference/models/change_option.rb +42 -0
  107. data/lib/api_reference/models/change_option1.rb +40 -0
  108. data/lib/api_reference/models/changed_subscription_resources.rb +185 -0
  109. data/lib/api_reference/models/constraint_violation_error.rb +101 -0
  110. data/lib/api_reference/models/conversion_rate_tier.rb +82 -0
  111. data/lib/api_reference/models/conversion_rate_tiered_config.rb +69 -0
  112. data/lib/api_reference/models/conversion_rate_unit_config.rb +60 -0
  113. data/lib/api_reference/models/costs_request_params.rb +118 -0
  114. data/lib/api_reference/models/country.rb +492 -0
  115. data/lib/api_reference/models/coupon.rb +195 -0
  116. data/lib/api_reference/models/coupon_query_params.rb +99 -0
  117. data/lib/api_reference/models/coupon_redemption.rb +132 -0
  118. data/lib/api_reference/models/coupons.rb +92 -0
  119. data/lib/api_reference/models/create_credit_note_params.rb +120 -0
  120. data/lib/api_reference/models/create_customer_alert_request_params.rb +91 -0
  121. data/lib/api_reference/models/create_invoice_line_item_params.rb +128 -0
  122. data/lib/api_reference/models/create_one_off_invoice_params.rb +255 -0
  123. data/lib/api_reference/models/create_subscription_alert_request_params.rb +163 -0
  124. data/lib/api_reference/models/created_invoice.rb +851 -0
  125. data/lib/api_reference/models/credit_block.rb +231 -0
  126. data/lib/api_reference/models/credit_block_allocation.rb +140 -0
  127. data/lib/api_reference/models/credit_block_expiry_ledger_entry.rb +301 -0
  128. data/lib/api_reference/models/credit_block_invoices_response.rb +91 -0
  129. data/lib/api_reference/models/credit_block_source.rb +43 -0
  130. data/lib/api_reference/models/credit_ledger_entries.rb +109 -0
  131. data/lib/api_reference/models/credit_note.rb +338 -0
  132. data/lib/api_reference/models/credit_note_discount.rb +152 -0
  133. data/lib/api_reference/models/credit_note_discount_applies_to_price.rb +104 -0
  134. data/lib/api_reference/models/credit_note_line_item.rb +244 -0
  135. data/lib/api_reference/models/credit_note_line_item_discount.rb +173 -0
  136. data/lib/api_reference/models/credit_note_line_item_params.rb +116 -0
  137. data/lib/api_reference/models/credit_note_summary.rb +181 -0
  138. data/lib/api_reference/models/credit_note_tiny.rb +86 -0
  139. data/lib/api_reference/models/credit_notes.rb +92 -0
  140. data/lib/api_reference/models/cumulative_grouped_allocation_config.rb +94 -0
  141. data/lib/api_reference/models/cumulative_grouped_allocation_config1.rb +120 -0
  142. data/lib/api_reference/models/cumulative_grouped_allocation_price.rb +588 -0
  143. data/lib/api_reference/models/cumulative_grouped_bulk_config.rb +77 -0
  144. data/lib/api_reference/models/cumulative_grouped_bulk_config1.rb +103 -0
  145. data/lib/api_reference/models/cumulative_grouped_bulk_dimension_value.rb +105 -0
  146. data/lib/api_reference/models/cumulative_grouped_bulk_price.rb +588 -0
  147. data/lib/api_reference/models/custom_expiration.rb +104 -0
  148. data/lib/api_reference/models/customer.rb +511 -0
  149. data/lib/api_reference/models/customer_balance_transaction.rb +226 -0
  150. data/lib/api_reference/models/customer_balance_transactions.rb +92 -0
  151. data/lib/api_reference/models/customer_costs.rb +81 -0
  152. data/lib/api_reference/models/customer_credit_balance.rb +231 -0
  153. data/lib/api_reference/models/customer_credit_balances.rb +92 -0
  154. data/lib/api_reference/models/customer_hierarchy.rb +93 -0
  155. data/lib/api_reference/models/customer_hierarchy2.rb +121 -0
  156. data/lib/api_reference/models/customer_hierarchy_config.rb +92 -0
  157. data/lib/api_reference/models/customer_minified.rb +107 -0
  158. data/lib/api_reference/models/customer_tax_id.rb +224 -0
  159. data/lib/api_reference/models/customers.rb +92 -0
  160. data/lib/api_reference/models/daily_credit_allowance_config.rb +119 -0
  161. data/lib/api_reference/models/daily_credit_allowance_config1.rb +150 -0
  162. data/lib/api_reference/models/daily_credit_allowance_matrix_value.rb +93 -0
  163. data/lib/api_reference/models/daily_credit_allowance_price.rb +588 -0
  164. data/lib/api_reference/models/date_type.rb +36 -0
  165. data/lib/api_reference/models/deactivate_license.rb +65 -0
  166. data/lib/api_reference/models/debug.rb +82 -0
  167. data/lib/api_reference/models/decrement_ledger_entry.rb +342 -0
  168. data/lib/api_reference/models/deprecated_event_result.rb +74 -0
  169. data/lib/api_reference/models/dimensional_price_configuration.rb +108 -0
  170. data/lib/api_reference/models/dimensional_price_group.rb +134 -0
  171. data/lib/api_reference/models/dimensional_price_groups.rb +92 -0
  172. data/lib/api_reference/models/discount_override.rb +116 -0
  173. data/lib/api_reference/models/discount_type.rb +40 -0
  174. data/lib/api_reference/models/discount_type1.rb +36 -0
  175. data/lib/api_reference/models/duplicate_resource_creation_error.rb +101 -0
  176. data/lib/api_reference/models/duration_unit.rb +36 -0
  177. data/lib/api_reference/models/duration_unit1.rb +36 -0
  178. data/lib/api_reference/models/duration_unit3.rb +48 -0
  179. data/lib/api_reference/models/edit_adjustment_interval_params.rb +130 -0
  180. data/lib/api_reference/models/edit_customer.rb +351 -0
  181. data/lib/api_reference/models/edit_dimensional_price_group.rb +86 -0
  182. data/lib/api_reference/models/edit_plan.rb +91 -0
  183. data/lib/api_reference/models/edit_price_interval_params.rb +237 -0
  184. data/lib/api_reference/models/effective_time.rb +26 -0
  185. data/lib/api_reference/models/end_of_term.rb +26 -0
  186. data/lib/api_reference/models/entry_status.rb +36 -0
  187. data/lib/api_reference/models/entry_type.rb +56 -0
  188. data/lib/api_reference/models/evaluate_multiple_price_resource.rb +81 -0
  189. data/lib/api_reference/models/evaluate_multiple_prices_body.rb +129 -0
  190. data/lib/api_reference/models/evaluate_multiple_prices_with_preview_events_body.rb +148 -0
  191. data/lib/api_reference/models/evaluate_price_body.rb +153 -0
  192. data/lib/api_reference/models/evaluate_price_group.rb +120 -0
  193. data/lib/api_reference/models/evaluate_price_resource.rb +81 -0
  194. data/lib/api_reference/models/evaluate_price_resource_for_multiple_price.rb +130 -0
  195. data/lib/api_reference/models/event.rb +149 -0
  196. data/lib/api_reference/models/event_output_config.rb +90 -0
  197. data/lib/api_reference/models/event_output_config1.rb +104 -0
  198. data/lib/api_reference/models/event_output_price.rb +585 -0
  199. data/lib/api_reference/models/event_search_criteria.rb +106 -0
  200. data/lib/api_reference/models/event_volume.rb +107 -0
  201. data/lib/api_reference/models/event_volume_params.rb +115 -0
  202. data/lib/api_reference/models/event_volumes.rb +81 -0
  203. data/lib/api_reference/models/events.rb +81 -0
  204. data/lib/api_reference/models/expiration_change_ledger_entry.rb +324 -0
  205. data/lib/api_reference/models/expires_after_unit.rb +36 -0
  206. data/lib/api_reference/models/external_connection_name.rb +44 -0
  207. data/lib/api_reference/models/external_connection_name1.rb +48 -0
  208. data/lib/api_reference/models/external_marketplace.rb +40 -0
  209. data/lib/api_reference/models/feature_not_available_error.rb +101 -0
  210. data/lib/api_reference/models/fetch_customer_credit_blocks_query_params.rb +181 -0
  211. data/lib/api_reference/models/fetch_customer_credit_ledger_query_params.rb +198 -0
  212. data/lib/api_reference/models/fetch_license_by_external_id.rb +72 -0
  213. data/lib/api_reference/models/fetch_subscription_schedule_query_params.rb +157 -0
  214. data/lib/api_reference/models/fetch_upcoming_invoice_params.rb +61 -0
  215. data/lib/api_reference/models/field.rb +48 -0
  216. data/lib/api_reference/models/filter_rule.rb +92 -0
  217. data/lib/api_reference/models/fixed_fee_quantity_change.rb +116 -0
  218. data/lib/api_reference/models/fixed_fee_quantity_schedule_entry.rb +145 -0
  219. data/lib/api_reference/models/fixed_fee_quantity_transition.rb +124 -0
  220. data/lib/api_reference/models/granularity.rb +26 -0
  221. data/lib/api_reference/models/grouped_allocation_config.rb +79 -0
  222. data/lib/api_reference/models/grouped_allocation_config1.rb +105 -0
  223. data/lib/api_reference/models/grouped_allocation_price.rb +587 -0
  224. data/lib/api_reference/models/grouped_subscription_usage.rb +114 -0
  225. data/lib/api_reference/models/grouped_subscription_usage_record.rb +149 -0
  226. data/lib/api_reference/models/grouped_tiered_config.rb +78 -0
  227. data/lib/api_reference/models/grouped_tiered_config1.rb +104 -0
  228. data/lib/api_reference/models/grouped_tiered_package_price.rb +588 -0
  229. data/lib/api_reference/models/grouped_tiered_package_pricing_config.rb +89 -0
  230. data/lib/api_reference/models/grouped_tiered_package_pricing_config1.rb +119 -0
  231. data/lib/api_reference/models/grouped_tiered_package_tier_item.rb +92 -0
  232. data/lib/api_reference/models/grouped_tiered_price.rb +586 -0
  233. data/lib/api_reference/models/grouped_tiered_tier.rb +92 -0
  234. data/lib/api_reference/models/grouped_with_metered_minimum_config.rb +127 -0
  235. data/lib/api_reference/models/grouped_with_metered_minimum_config1.rb +173 -0
  236. data/lib/api_reference/models/grouped_with_metered_minimum_price.rb +588 -0
  237. data/lib/api_reference/models/grouped_with_metered_minimum_scaling_factor_item.rb +92 -0
  238. data/lib/api_reference/models/grouped_with_metered_minimum_unit_amount_item.rb +91 -0
  239. data/lib/api_reference/models/grouped_with_min_max_thresholds_config.rb +90 -0
  240. data/lib/api_reference/models/grouped_with_min_max_thresholds_config1.rb +120 -0
  241. data/lib/api_reference/models/grouped_with_min_max_thresholds_price.rb +588 -0
  242. data/lib/api_reference/models/grouped_with_prorated_minimum_config.rb +78 -0
  243. data/lib/api_reference/models/grouped_with_prorated_minimum_config1.rb +104 -0
  244. data/lib/api_reference/models/grouped_with_prorated_minimum_price.rb +588 -0
  245. data/lib/api_reference/models/increment_credit_ledger_entry_invoice_settings.rb +197 -0
  246. data/lib/api_reference/models/increment_ledger_entry.rb +322 -0
  247. data/lib/api_reference/models/ingest_event.rb +127 -0
  248. data/lib/api_reference/models/ingest_event_idempotency_key_only.rb +75 -0
  249. data/lib/api_reference/models/ingest_query_params.rb +75 -0
  250. data/lib/api_reference/models/ingest_request_body.rb +69 -0
  251. data/lib/api_reference/models/ingestion_response.rb +97 -0
  252. data/lib/api_reference/models/invoice.rb +843 -0
  253. data/lib/api_reference/models/invoice_line_item.rb +359 -0
  254. data/lib/api_reference/models/invoice_line_item_params.rb +157 -0
  255. data/lib/api_reference/models/invoice_minified.rb +112 -0
  256. data/lib/api_reference/models/invoice_source.rb +40 -0
  257. data/lib/api_reference/models/invoice_summary.rb +525 -0
  258. data/lib/api_reference/models/invoice_summarys.rb +92 -0
  259. data/lib/api_reference/models/invoice_tiny.rb +86 -0
  260. data/lib/api_reference/models/invoices.rb +92 -0
  261. data/lib/api_reference/models/issue_invoice_request_params.rb +66 -0
  262. data/lib/api_reference/models/item.rb +154 -0
  263. data/lib/api_reference/models/item_external_connection.rb +110 -0
  264. data/lib/api_reference/models/item_slim.rb +105 -0
  265. data/lib/api_reference/models/items.rb +92 -0
  266. data/lib/api_reference/models/license_api_resource.rb +147 -0
  267. data/lib/api_reference/models/license_api_resources.rb +92 -0
  268. data/lib/api_reference/models/license_type.rb +119 -0
  269. data/lib/api_reference/models/license_type_minified.rb +86 -0
  270. data/lib/api_reference/models/license_types.rb +92 -0
  271. data/lib/api_reference/models/license_usage.rb +203 -0
  272. data/lib/api_reference/models/license_usage_by_external_id_query_params.rb +133 -0
  273. data/lib/api_reference/models/license_usage_by_type_query_params.rb +132 -0
  274. data/lib/api_reference/models/license_usage_query_params.rb +110 -0
  275. data/lib/api_reference/models/license_usages.rb +92 -0
  276. data/lib/api_reference/models/list_alerts_query_params.rb +189 -0
  277. data/lib/api_reference/models/list_credit_notes_params.rb +157 -0
  278. data/lib/api_reference/models/list_customer_balance_transactions_query_params.rb +158 -0
  279. data/lib/api_reference/models/list_customers_query_params.rb +157 -0
  280. data/lib/api_reference/models/list_invoices_params.rb +345 -0
  281. data/lib/api_reference/models/list_licenses_params.rb +125 -0
  282. data/lib/api_reference/models/list_metrics_query_params.rb +157 -0
  283. data/lib/api_reference/models/list_plans_query_params.rb +163 -0
  284. data/lib/api_reference/models/list_subscription_changes_query_params.rb +112 -0
  285. data/lib/api_reference/models/list_subscriptions_query_params.rb +258 -0
  286. data/lib/api_reference/models/map_item_request_params.rb +103 -0
  287. data/lib/api_reference/models/mark_as_paid_request_params.rb +85 -0
  288. data/lib/api_reference/models/matrix_cell.rb +108 -0
  289. data/lib/api_reference/models/matrix_config.rb +119 -0
  290. data/lib/api_reference/models/matrix_price.rb +584 -0
  291. data/lib/api_reference/models/matrix_sub_line_item.rb +173 -0
  292. data/lib/api_reference/models/matrix_value.rb +92 -0
  293. data/lib/api_reference/models/matrix_with_allocation_config.rb +99 -0
  294. data/lib/api_reference/models/matrix_with_allocation_config1.rb +133 -0
  295. data/lib/api_reference/models/matrix_with_allocation_price.rb +588 -0
  296. data/lib/api_reference/models/matrix_with_allocation_value_item.rb +94 -0
  297. data/lib/api_reference/models/matrix_with_display_name_config.rb +77 -0
  298. data/lib/api_reference/models/matrix_with_display_name_config1.rb +103 -0
  299. data/lib/api_reference/models/matrix_with_display_name_price.rb +588 -0
  300. data/lib/api_reference/models/matrix_with_display_name_unit_amount_item.rb +105 -0
  301. data/lib/api_reference/models/matrix_with_threshold_discounts_config.rb +130 -0
  302. data/lib/api_reference/models/matrix_with_threshold_discounts_config1.rb +157 -0
  303. data/lib/api_reference/models/matrix_with_threshold_discounts_price.rb +588 -0
  304. data/lib/api_reference/models/max_group_tiered_package_config.rb +90 -0
  305. data/lib/api_reference/models/max_group_tiered_package_config1.rb +120 -0
  306. data/lib/api_reference/models/max_group_tiered_package_price.rb +588 -0
  307. data/lib/api_reference/models/max_group_tiered_tier_item.rb +92 -0
  308. data/lib/api_reference/models/maximum.rb +135 -0
  309. data/lib/api_reference/models/maximum_interval.rb +177 -0
  310. data/lib/api_reference/models/metered_allowance_config.rb +130 -0
  311. data/lib/api_reference/models/metered_allowance_config1.rb +152 -0
  312. data/lib/api_reference/models/metered_allowance_price.rb +587 -0
  313. data/lib/api_reference/models/metric_group.rb +105 -0
  314. data/lib/api_reference/models/minimum.rb +135 -0
  315. data/lib/api_reference/models/minimum_composite_config.rb +73 -0
  316. data/lib/api_reference/models/minimum_composite_config1.rb +87 -0
  317. data/lib/api_reference/models/minimum_composite_price.rb +587 -0
  318. data/lib/api_reference/models/minimum_interval.rb +177 -0
  319. data/lib/api_reference/models/monetary_amount_discount_adjustment.rb +219 -0
  320. data/lib/api_reference/models/monetary_maximum_adjustment.rb +218 -0
  321. data/lib/api_reference/models/monetary_minimum_adjustment.rb +231 -0
  322. data/lib/api_reference/models/monetary_percentage_discount_adjustment.rb +219 -0
  323. data/lib/api_reference/models/monetary_tiered_percentage_discount_adjustment.rb +230 -0
  324. data/lib/api_reference/models/monetary_usage_discount_adjustment.rb +218 -0
  325. data/lib/api_reference/models/mutated_subscription.rb +683 -0
  326. data/lib/api_reference/models/new_accounting_sync_configuration.rb +98 -0
  327. data/lib/api_reference/models/new_allocation_price.rb +221 -0
  328. data/lib/api_reference/models/new_amount_discount.rb +202 -0
  329. data/lib/api_reference/models/new_anrok_configuration.rb +100 -0
  330. data/lib/api_reference/models/new_avalara_tax_configuration.rb +114 -0
  331. data/lib/api_reference/models/new_backfill.rb +165 -0
  332. data/lib/api_reference/models/new_billable_metric.rb +101 -0
  333. data/lib/api_reference/models/new_billing_cycle_configuration.rb +104 -0
  334. data/lib/api_reference/models/new_coupon.rb +123 -0
  335. data/lib/api_reference/models/new_coupon_amount_discount.rb +103 -0
  336. data/lib/api_reference/models/new_coupon_percentage_discount.rb +103 -0
  337. data/lib/api_reference/models/new_customer.rb +333 -0
  338. data/lib/api_reference/models/new_customer_balance_transaction.rb +81 -0
  339. data/lib/api_reference/models/new_dimensional_price_configuration.rb +126 -0
  340. data/lib/api_reference/models/new_dimensional_price_group.rb +115 -0
  341. data/lib/api_reference/models/new_floating_bulk_price.rb +333 -0
  342. data/lib/api_reference/models/new_floating_bulk_with_filters_price.rb +336 -0
  343. data/lib/api_reference/models/new_floating_bulk_with_proration_price.rb +336 -0
  344. data/lib/api_reference/models/new_floating_cumulative_grouped_allocation_price.rb +337 -0
  345. data/lib/api_reference/models/new_floating_cumulative_grouped_bulk_price.rb +337 -0
  346. data/lib/api_reference/models/new_floating_daily_credit_allowance_price.rb +337 -0
  347. data/lib/api_reference/models/new_floating_event_output_price.rb +334 -0
  348. data/lib/api_reference/models/new_floating_grouped_allocation_price.rb +336 -0
  349. data/lib/api_reference/models/new_floating_grouped_tiered_package_price.rb +337 -0
  350. data/lib/api_reference/models/new_floating_grouped_tiered_price.rb +335 -0
  351. data/lib/api_reference/models/new_floating_grouped_with_metered_minimum_price.rb +337 -0
  352. data/lib/api_reference/models/new_floating_grouped_with_min_max_thresholds_price.rb +337 -0
  353. data/lib/api_reference/models/new_floating_grouped_with_prorated_minimum_price.rb +337 -0
  354. data/lib/api_reference/models/new_floating_matrix_price.rb +333 -0
  355. data/lib/api_reference/models/new_floating_matrix_with_allocation_price.rb +337 -0
  356. data/lib/api_reference/models/new_floating_matrix_with_display_name_price.rb +337 -0
  357. data/lib/api_reference/models/new_floating_matrix_with_threshold_discounts_price.rb +337 -0
  358. data/lib/api_reference/models/new_floating_max_group_tiered_package_price.rb +337 -0
  359. data/lib/api_reference/models/new_floating_metered_allowance_price.rb +336 -0
  360. data/lib/api_reference/models/new_floating_minimum_composite_price.rb +336 -0
  361. data/lib/api_reference/models/new_floating_package_price.rb +333 -0
  362. data/lib/api_reference/models/new_floating_package_with_allocation_price.rb +337 -0
  363. data/lib/api_reference/models/new_floating_percent_composite_price.rb +334 -0
  364. data/lib/api_reference/models/new_floating_scalable_matrix_with_tiered_pricing_price.rb +338 -0
  365. data/lib/api_reference/models/new_floating_scalable_matrix_with_unit_pricing_price.rb +338 -0
  366. data/lib/api_reference/models/new_floating_threshold_total_amount_price.rb +337 -0
  367. data/lib/api_reference/models/new_floating_tiered_package_price.rb +336 -0
  368. data/lib/api_reference/models/new_floating_tiered_package_with_minimum_price.rb +337 -0
  369. data/lib/api_reference/models/new_floating_tiered_price.rb +333 -0
  370. data/lib/api_reference/models/new_floating_tiered_with_minimum_price.rb +336 -0
  371. data/lib/api_reference/models/new_floating_tiered_with_proration_price.rb +336 -0
  372. data/lib/api_reference/models/new_floating_unit_price.rb +333 -0
  373. data/lib/api_reference/models/new_floating_unit_with_percent_price.rb +336 -0
  374. data/lib/api_reference/models/new_floating_unit_with_proration_price.rb +336 -0
  375. data/lib/api_reference/models/new_item.rb +74 -0
  376. data/lib/api_reference/models/new_license.rb +108 -0
  377. data/lib/api_reference/models/new_license_allocation.rb +97 -0
  378. data/lib/api_reference/models/new_license_allocation_unit_price.rb +330 -0
  379. data/lib/api_reference/models/new_license_type.rb +69 -0
  380. data/lib/api_reference/models/new_license_type_configuration.rb +78 -0
  381. data/lib/api_reference/models/new_maximum.rb +202 -0
  382. data/lib/api_reference/models/new_minimum.rb +215 -0
  383. data/lib/api_reference/models/new_numeral_configuration.rb +100 -0
  384. data/lib/api_reference/models/new_percentage_discount.rb +202 -0
  385. data/lib/api_reference/models/new_plan.rb +210 -0
  386. data/lib/api_reference/models/new_plan_bulk_price.rb +310 -0
  387. data/lib/api_reference/models/new_plan_bulk_with_filters_price.rb +313 -0
  388. data/lib/api_reference/models/new_plan_bulk_with_proration_price.rb +313 -0
  389. data/lib/api_reference/models/new_plan_cumulative_grouped_allocation_price.rb +314 -0
  390. data/lib/api_reference/models/new_plan_cumulative_grouped_bulk_price.rb +314 -0
  391. data/lib/api_reference/models/new_plan_daily_credit_allowance_price.rb +314 -0
  392. data/lib/api_reference/models/new_plan_event_output_price.rb +311 -0
  393. data/lib/api_reference/models/new_plan_grouped_allocation_price.rb +313 -0
  394. data/lib/api_reference/models/new_plan_grouped_tiered_package_price.rb +314 -0
  395. data/lib/api_reference/models/new_plan_grouped_tiered_price.rb +312 -0
  396. data/lib/api_reference/models/new_plan_grouped_with_metered_minimum_price.rb +314 -0
  397. data/lib/api_reference/models/new_plan_grouped_with_min_max_thresholds_price.rb +314 -0
  398. data/lib/api_reference/models/new_plan_grouped_with_prorated_minimum_price.rb +314 -0
  399. data/lib/api_reference/models/new_plan_matrix_price.rb +310 -0
  400. data/lib/api_reference/models/new_plan_matrix_with_allocation_price.rb +314 -0
  401. data/lib/api_reference/models/new_plan_matrix_with_display_name_price.rb +314 -0
  402. data/lib/api_reference/models/new_plan_matrix_with_threshold_discounts_price.rb +314 -0
  403. data/lib/api_reference/models/new_plan_max_group_tiered_package_price.rb +314 -0
  404. data/lib/api_reference/models/new_plan_metered_allowance_price.rb +313 -0
  405. data/lib/api_reference/models/new_plan_minimum_composite_price.rb +313 -0
  406. data/lib/api_reference/models/new_plan_package_price.rb +310 -0
  407. data/lib/api_reference/models/new_plan_package_with_allocation_price.rb +314 -0
  408. data/lib/api_reference/models/new_plan_percent_composite_price.rb +311 -0
  409. data/lib/api_reference/models/new_plan_phase.rb +104 -0
  410. data/lib/api_reference/models/new_plan_scalable_matrix_with_tiered_pricing_price.rb +315 -0
  411. data/lib/api_reference/models/new_plan_scalable_matrix_with_unit_pricing_price.rb +315 -0
  412. data/lib/api_reference/models/new_plan_threshold_total_amount_price.rb +314 -0
  413. data/lib/api_reference/models/new_plan_tiered_package_price.rb +313 -0
  414. data/lib/api_reference/models/new_plan_tiered_package_with_minimum_price.rb +314 -0
  415. data/lib/api_reference/models/new_plan_tiered_price.rb +310 -0
  416. data/lib/api_reference/models/new_plan_tiered_with_minimum_price.rb +313 -0
  417. data/lib/api_reference/models/new_plan_tiered_with_proration_price.rb +313 -0
  418. data/lib/api_reference/models/new_plan_unit_price.rb +310 -0
  419. data/lib/api_reference/models/new_plan_unit_with_percent_price.rb +313 -0
  420. data/lib/api_reference/models/new_plan_unit_with_proration_price.rb +313 -0
  421. data/lib/api_reference/models/new_plan_version.rb +197 -0
  422. data/lib/api_reference/models/new_portal_session.rb +78 -0
  423. data/lib/api_reference/models/new_reporting_configuration.rb +73 -0
  424. data/lib/api_reference/models/new_sphere_configuration.rb +100 -0
  425. data/lib/api_reference/models/new_stripe_tax_configuration.rb +100 -0
  426. data/lib/api_reference/models/new_subscription.rb +603 -0
  427. data/lib/api_reference/models/new_subscription_bulk_price.rb +310 -0
  428. data/lib/api_reference/models/new_subscription_bulk_with_filters_price.rb +313 -0
  429. data/lib/api_reference/models/new_subscription_bulk_with_proration_price.rb +313 -0
  430. data/lib/api_reference/models/new_subscription_cumulative_grouped_allocation_price.rb +314 -0
  431. data/lib/api_reference/models/new_subscription_cumulative_grouped_bulk_price.rb +314 -0
  432. data/lib/api_reference/models/new_subscription_daily_credit_allowance_price.rb +314 -0
  433. data/lib/api_reference/models/new_subscription_event_output_price.rb +311 -0
  434. data/lib/api_reference/models/new_subscription_grouped_allocation_price.rb +313 -0
  435. data/lib/api_reference/models/new_subscription_grouped_tiered_package_price.rb +314 -0
  436. data/lib/api_reference/models/new_subscription_grouped_tiered_price.rb +312 -0
  437. data/lib/api_reference/models/new_subscription_grouped_with_metered_minimum_price.rb +314 -0
  438. data/lib/api_reference/models/new_subscription_grouped_with_min_max_thresholds_price.rb +314 -0
  439. data/lib/api_reference/models/new_subscription_grouped_with_prorated_minimum_price.rb +314 -0
  440. data/lib/api_reference/models/new_subscription_matrix_price.rb +310 -0
  441. data/lib/api_reference/models/new_subscription_matrix_with_allocation_price.rb +314 -0
  442. data/lib/api_reference/models/new_subscription_matrix_with_display_name_price.rb +314 -0
  443. data/lib/api_reference/models/new_subscription_matrix_with_threshold_discounts_price.rb +314 -0
  444. data/lib/api_reference/models/new_subscription_max_group_tiered_package_price.rb +314 -0
  445. data/lib/api_reference/models/new_subscription_metered_allowance_price.rb +313 -0
  446. data/lib/api_reference/models/new_subscription_minimum_composite_price.rb +313 -0
  447. data/lib/api_reference/models/new_subscription_package_price.rb +310 -0
  448. data/lib/api_reference/models/new_subscription_package_with_allocation_price.rb +314 -0
  449. data/lib/api_reference/models/new_subscription_percent_composite_price.rb +311 -0
  450. data/lib/api_reference/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rb +315 -0
  451. data/lib/api_reference/models/new_subscription_scalable_matrix_with_unit_pricing_price.rb +315 -0
  452. data/lib/api_reference/models/new_subscription_threshold_total_amount_price.rb +314 -0
  453. data/lib/api_reference/models/new_subscription_tiered_package_price.rb +313 -0
  454. data/lib/api_reference/models/new_subscription_tiered_package_with_minimum_price.rb +314 -0
  455. data/lib/api_reference/models/new_subscription_tiered_price.rb +310 -0
  456. data/lib/api_reference/models/new_subscription_tiered_with_minimum_price.rb +313 -0
  457. data/lib/api_reference/models/new_subscription_tiered_with_proration_price.rb +313 -0
  458. data/lib/api_reference/models/new_subscription_unit_price.rb +310 -0
  459. data/lib/api_reference/models/new_subscription_unit_with_percent_price.rb +313 -0
  460. data/lib/api_reference/models/new_subscription_unit_with_proration_price.rb +313 -0
  461. data/lib/api_reference/models/new_tax_jar_configuration.rb +100 -0
  462. data/lib/api_reference/models/new_tiered_percentage_discount.rb +214 -0
  463. data/lib/api_reference/models/new_tiered_percentage_discount_tier.rb +118 -0
  464. data/lib/api_reference/models/new_top_up_invoice_settings.rb +117 -0
  465. data/lib/api_reference/models/new_top_up_invoice_settings2.rb +117 -0
  466. data/lib/api_reference/models/new_usage_discount.rb +202 -0
  467. data/lib/api_reference/models/operator.rb +36 -0
  468. data/lib/api_reference/models/other_sub_line_item.rb +144 -0
  469. data/lib/api_reference/models/package_config.rb +93 -0
  470. data/lib/api_reference/models/package_price.rb +584 -0
  471. data/lib/api_reference/models/package_with_allocation_config.rb +79 -0
  472. data/lib/api_reference/models/package_with_allocation_config1.rb +105 -0
  473. data/lib/api_reference/models/package_with_allocation_price.rb +588 -0
  474. data/lib/api_reference/models/pagination_metadata.rb +106 -0
  475. data/lib/api_reference/models/pay_invoice_params.rb +62 -0
  476. data/lib/api_reference/models/payment_attempt.rb +184 -0
  477. data/lib/api_reference/models/payment_configuration.rb +95 -0
  478. data/lib/api_reference/models/payment_configuration_item.rb +126 -0
  479. data/lib/api_reference/models/payment_method.rb +188 -0
  480. data/lib/api_reference/models/payment_method_type.rb +49 -0
  481. data/lib/api_reference/models/payment_provider.rb +36 -0
  482. data/lib/api_reference/models/payment_provider1.rb +52 -0
  483. data/lib/api_reference/models/per_price_cost.rb +145 -0
  484. data/lib/api_reference/models/percent_composite_config.rb +109 -0
  485. data/lib/api_reference/models/percent_composite_config1.rb +112 -0
  486. data/lib/api_reference/models/percent_composite_price.rb +585 -0
  487. data/lib/api_reference/models/percentage_discount.rb +151 -0
  488. data/lib/api_reference/models/percentage_discount_creation_params.rb +104 -0
  489. data/lib/api_reference/models/percentage_discount_interval.rb +188 -0
  490. data/lib/api_reference/models/percentage_tier.rb +122 -0
  491. data/lib/api_reference/models/ping_response.rb +73 -0
  492. data/lib/api_reference/models/plan.rb +501 -0
  493. data/lib/api_reference/models/plan_minified.rb +125 -0
  494. data/lib/api_reference/models/plan_minified_with_version.rb +141 -0
  495. data/lib/api_reference/models/plan_phase.rb +244 -0
  496. data/lib/api_reference/models/plan_phase_amount_discount_adjustment.rb +221 -0
  497. data/lib/api_reference/models/plan_phase_maximum_adjustment.rb +221 -0
  498. data/lib/api_reference/models/plan_phase_minimum_adjustment.rb +233 -0
  499. data/lib/api_reference/models/plan_phase_percentage_discount_adjustment.rb +221 -0
  500. data/lib/api_reference/models/plan_phase_tiered_percentage_discount_adjustment.rb +233 -0
  501. data/lib/api_reference/models/plan_phase_usage_discount_adjustment.rb +221 -0
  502. data/lib/api_reference/models/plan_version.rb +172 -0
  503. data/lib/api_reference/models/plan_version_change.rb +143 -0
  504. data/lib/api_reference/models/plan_version_changes.rb +92 -0
  505. data/lib/api_reference/models/plan_version_phase.rb +163 -0
  506. data/lib/api_reference/models/plans.rb +92 -0
  507. data/lib/api_reference/models/portal_session.rb +124 -0
  508. data/lib/api_reference/models/preview_event.rb +115 -0
  509. data/lib/api_reference/models/price_evaluation_request.rb +157 -0
  510. data/lib/api_reference/models/price_filter.rb +116 -0
  511. data/lib/api_reference/models/price_group.rb +132 -0
  512. data/lib/api_reference/models/price_interval.rb +319 -0
  513. data/lib/api_reference/models/price_interval_fixed_fee_quantity_transition_params.rb +112 -0
  514. data/lib/api_reference/models/price_type.rb +48 -0
  515. data/lib/api_reference/models/price_type6.rb +40 -0
  516. data/lib/api_reference/models/prices.rb +109 -0
  517. data/lib/api_reference/models/product.rb +123 -0
  518. data/lib/api_reference/models/provider_type.rb +36 -0
  519. data/lib/api_reference/models/quantity_only_override_price.rb +147 -0
  520. data/lib/api_reference/models/reason.rb +44 -0
  521. data/lib/api_reference/models/reason1.rb +44 -0
  522. data/lib/api_reference/models/redeem_coupon_params.rb +126 -0
  523. data/lib/api_reference/models/remove_plan_adjustment_params.rb +74 -0
  524. data/lib/api_reference/models/remove_plan_price_params.rb +74 -0
  525. data/lib/api_reference/models/remove_subscription_adjustment_params.rb +74 -0
  526. data/lib/api_reference/models/remove_subscription_price_params.rb +90 -0
  527. data/lib/api_reference/models/replace_plan_adjustment_params.rb +108 -0
  528. data/lib/api_reference/models/replace_plan_price_params.rb +112 -0
  529. data/lib/api_reference/models/replace_subscription_adjustment_params.rb +108 -0
  530. data/lib/api_reference/models/replace_subscription_price_params.rb +203 -0
  531. data/lib/api_reference/models/reporting_configuration.rb +87 -0
  532. data/lib/api_reference/models/request_too_large_error.rb +101 -0
  533. data/lib/api_reference/models/request_validation_error.rb +112 -0
  534. data/lib/api_reference/models/resource_not_found_error.rb +99 -0
  535. data/lib/api_reference/models/resource_too_large_error.rb +101 -0
  536. data/lib/api_reference/models/scalable_matrix_with_tiered_pricing_config.rb +112 -0
  537. data/lib/api_reference/models/scalable_matrix_with_tiered_pricing_config1.rb +146 -0
  538. data/lib/api_reference/models/scalable_matrix_with_tiered_pricing_price.rb +589 -0
  539. data/lib/api_reference/models/scalable_matrix_with_tiered_scaling_factor.rb +109 -0
  540. data/lib/api_reference/models/scalable_matrix_with_tiered_tier_entry.rb +92 -0
  541. data/lib/api_reference/models/scalable_matrix_with_unit_pricing_config.rb +125 -0
  542. data/lib/api_reference/models/scalable_matrix_with_unit_pricing_config1.rb +155 -0
  543. data/lib/api_reference/models/scalable_matrix_with_unit_pricing_price.rb +589 -0
  544. data/lib/api_reference/models/scalable_matrix_with_unit_scaling_factor.rb +109 -0
  545. data/lib/api_reference/models/set_default_version.rb +60 -0
  546. data/lib/api_reference/models/start_of_term.rb +26 -0
  547. data/lib/api_reference/models/status.rb +40 -0
  548. data/lib/api_reference/models/status1.rb +48 -0
  549. data/lib/api_reference/models/status10.rb +40 -0
  550. data/lib/api_reference/models/status11.rb +48 -0
  551. data/lib/api_reference/models/status12.rb +40 -0
  552. data/lib/api_reference/models/status13.rb +40 -0
  553. data/lib/api_reference/models/status14.rb +40 -0
  554. data/lib/api_reference/models/status17.rb +37 -0
  555. data/lib/api_reference/models/status18.rb +49 -0
  556. data/lib/api_reference/models/status23.rb +48 -0
  557. data/lib/api_reference/models/status28.rb +40 -0
  558. data/lib/api_reference/models/status3.rb +36 -0
  559. data/lib/api_reference/models/status7.rb +36 -0
  560. data/lib/api_reference/models/sub_line_item_grouping.rb +106 -0
  561. data/lib/api_reference/models/sub_line_item_matrix_config.rb +89 -0
  562. data/lib/api_reference/models/subscription.rb +680 -0
  563. data/lib/api_reference/models/subscription_change_list_response.rb +152 -0
  564. data/lib/api_reference/models/subscription_change_list_responses.rb +92 -0
  565. data/lib/api_reference/models/subscription_change_minified.rb +86 -0
  566. data/lib/api_reference/models/subscription_change_response.rb +217 -0
  567. data/lib/api_reference/models/subscription_costs.rb +81 -0
  568. data/lib/api_reference/models/subscription_minified.rb +86 -0
  569. data/lib/api_reference/models/subscription_plan_change.rb +502 -0
  570. data/lib/api_reference/models/subscription_schedule_item.rb +122 -0
  571. data/lib/api_reference/models/subscription_schedule_items.rb +92 -0
  572. data/lib/api_reference/models/subscription_trial_info.rb +96 -0
  573. data/lib/api_reference/models/subscription_usage_request_params.rb +207 -0
  574. data/lib/api_reference/models/subscriptions.rb +92 -0
  575. data/lib/api_reference/models/tax_amount.rb +123 -0
  576. data/lib/api_reference/models/threshold.rb +90 -0
  577. data/lib/api_reference/models/threshold_discount_group.rb +147 -0
  578. data/lib/api_reference/models/threshold_override.rb +121 -0
  579. data/lib/api_reference/models/threshold_override_params.rb +97 -0
  580. data/lib/api_reference/models/threshold_total_amount_config.rb +83 -0
  581. data/lib/api_reference/models/threshold_total_amount_config1.rb +101 -0
  582. data/lib/api_reference/models/threshold_total_amount_price.rb +588 -0
  583. data/lib/api_reference/models/tier.rb +105 -0
  584. data/lib/api_reference/models/tier_sub_line_item.rb +160 -0
  585. data/lib/api_reference/models/tier_sub_line_item_tier_config.rb +119 -0
  586. data/lib/api_reference/models/tiered_config.rb +98 -0
  587. data/lib/api_reference/models/tiered_conversion_rate_config.rb +81 -0
  588. data/lib/api_reference/models/tiered_package_price.rb +587 -0
  589. data/lib/api_reference/models/tiered_package_pricing_config.rb +83 -0
  590. data/lib/api_reference/models/tiered_package_pricing_config1.rb +109 -0
  591. data/lib/api_reference/models/tiered_package_pricing_with_minimum_config.rb +79 -0
  592. data/lib/api_reference/models/tiered_package_pricing_with_minimum_config1.rb +105 -0
  593. data/lib/api_reference/models/tiered_package_tier_item.rb +92 -0
  594. data/lib/api_reference/models/tiered_package_with_minimum_price.rb +588 -0
  595. data/lib/api_reference/models/tiered_package_with_minimum_tier_item.rb +106 -0
  596. data/lib/api_reference/models/tiered_percentage_discount.rb +164 -0
  597. data/lib/api_reference/models/tiered_percentage_discount_interval.rb +201 -0
  598. data/lib/api_reference/models/tiered_price.rb +584 -0
  599. data/lib/api_reference/models/tiered_pricing_with_minimum_config.rb +93 -0
  600. data/lib/api_reference/models/tiered_pricing_with_minimum_config1.rb +111 -0
  601. data/lib/api_reference/models/tiered_pricing_with_minimum_tier_item.rb +106 -0
  602. data/lib/api_reference/models/tiered_total_threshold.rb +90 -0
  603. data/lib/api_reference/models/tiered_with_minimum_price.rb +587 -0
  604. data/lib/api_reference/models/tiered_with_proration_config.rb +70 -0
  605. data/lib/api_reference/models/tiered_with_proration_config1.rb +88 -0
  606. data/lib/api_reference/models/tiered_with_proration_price.rb +587 -0
  607. data/lib/api_reference/models/tiered_with_proration_tier.rb +92 -0
  608. data/lib/api_reference/models/too_many_results_error.rb +101 -0
  609. data/lib/api_reference/models/top_up.rb +149 -0
  610. data/lib/api_reference/models/top_up_invoice_settings.rb +117 -0
  611. data/lib/api_reference/models/top_up_invoice_settings2.rb +117 -0
  612. data/lib/api_reference/models/top_ups.rb +92 -0
  613. data/lib/api_reference/models/trial_config.rb +104 -0
  614. data/lib/api_reference/models/trial_discount.rb +161 -0
  615. data/lib/api_reference/models/trial_end_date.rb +26 -0
  616. data/lib/api_reference/models/trigger_subscription_phase_params.rb +84 -0
  617. data/lib/api_reference/models/type.rb +40 -0
  618. data/lib/api_reference/models/type1.rb +36 -0
  619. data/lib/api_reference/models/type2.rb +26 -0
  620. data/lib/api_reference/models/type3.rb +36 -0
  621. data/lib/api_reference/models/type4.rb +36 -0
  622. data/lib/api_reference/models/type5.rb +492 -0
  623. data/lib/api_reference/models/type6.rb +40 -0
  624. data/lib/api_reference/models/type7.rb +36 -0
  625. data/lib/api_reference/models/ungrouped_subscription_usage.rb +99 -0
  626. data/lib/api_reference/models/ungrouped_subscription_usage_record.rb +133 -0
  627. data/lib/api_reference/models/unit_config.rb +85 -0
  628. data/lib/api_reference/models/unit_conversion_rate_config.rb +80 -0
  629. data/lib/api_reference/models/unit_price.rb +584 -0
  630. data/lib/api_reference/models/unit_with_percent_config.rb +68 -0
  631. data/lib/api_reference/models/unit_with_percent_config1.rb +90 -0
  632. data/lib/api_reference/models/unit_with_percent_price.rb +587 -0
  633. data/lib/api_reference/models/unit_with_proration_config.rb +60 -0
  634. data/lib/api_reference/models/unit_with_proration_config1.rb +74 -0
  635. data/lib/api_reference/models/unit_with_proration_price.rb +587 -0
  636. data/lib/api_reference/models/unschedule_fixed_fee_quantity_change_params.rb +60 -0
  637. data/lib/api_reference/models/upcoming_invoice.rb +838 -0
  638. data/lib/api_reference/models/update_alert_query_params.rb +65 -0
  639. data/lib/api_reference/models/update_alert_request_params.rb +116 -0
  640. data/lib/api_reference/models/update_invoice_request_params.rb +145 -0
  641. data/lib/api_reference/models/update_metric_request_params.rb +66 -0
  642. data/lib/api_reference/models/update_price_request_params.rb +66 -0
  643. data/lib/api_reference/models/update_subscription_params.rb +137 -0
  644. data/lib/api_reference/models/update_trial_request_params.rb +94 -0
  645. data/lib/api_reference/models/url_not_found.rb +101 -0
  646. data/lib/api_reference/models/usage.rb +131 -0
  647. data/lib/api_reference/models/usage_discount.rb +129 -0
  648. data/lib/api_reference/models/usage_discount_creation_params.rb +82 -0
  649. data/lib/api_reference/models/usage_discount_interval.rb +188 -0
  650. data/lib/api_reference/models/validation_error.rb +86 -0
  651. data/lib/api_reference/models/view_mode.rb +36 -0
  652. data/lib/api_reference/models/void_initiated_ledger_entry.rb +356 -0
  653. data/lib/api_reference/models/void_ledger_entry.rb +334 -0
  654. data/lib/api_reference/models/void_reason.rb +26 -0
  655. data/lib/api_reference/utilities/date_time_helper.rb +11 -0
  656. data/lib/api_reference/utilities/file_wrapper.rb +28 -0
  657. data/lib/api_reference/utilities/union_type_lookup.rb +1433 -0
  658. data/lib/api_reference.rb +752 -0
  659. metadata +742 -0
@@ -0,0 +1,776 @@
1
+ # api_reference
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ApiReference
7
+ # EventApi
8
+ class EventApi < BaseApi
9
+ # This endpoint returns a list of all backfills in a list format.
10
+ # The list of backfills is ordered starting from the most recently created
11
+ # backfill. The response also includes
12
+ # [`pagination_metadata`](/api-reference/pagination), which lets the caller
13
+ # retrieve the next page of results if they
14
+ # exist.
15
+ # @param [Integer] limit Optional parameter: Example:20
16
+ # @param [String] cursor Optional parameter: TODO: type description here
17
+ # @return [ApiResponse] Complete http response with raw body and status code.
18
+ def list_backfills(limit: 20,
19
+ cursor: nil)
20
+ @api_call
21
+ .request(new_request_builder(HttpMethodEnum::GET,
22
+ '/events/backfills',
23
+ Server::DEFAULT)
24
+ .query_param(new_parameter(limit, key: 'limit'))
25
+ .query_param(new_parameter(cursor, key: 'cursor'))
26
+ .header_param(new_parameter('application/json', key: 'accept'))
27
+ .auth(Single.new('APIKeyAuth')))
28
+ .response(new_response_handler
29
+ .deserializer(APIHelper.method(:custom_type_deserializer))
30
+ .deserialize_into(Backfills.method(:from_hash))
31
+ .is_api_response(true)
32
+ .local_error('400',
33
+ 'Bad Request',
34
+ APIException)
35
+ .local_error('401',
36
+ 'Unauthorized',
37
+ AuthorizationErrorException)
38
+ .local_error('404',
39
+ 'Not Found',
40
+ APIException)
41
+ .local_error('409',
42
+ 'Conflict',
43
+ IdempotencyRequestMismatchException)
44
+ .local_error('413',
45
+ 'Content Too Large',
46
+ APIException)
47
+ .local_error('429',
48
+ 'Too Many Requests',
49
+ TooManyRequestsException)
50
+ .local_error('500',
51
+ 'Internal Server Error',
52
+ ServerErrorException))
53
+ .execute
54
+ end
55
+
56
+ # Creating the backfill enables adding or replacing past events, even those
57
+ # that are older than the ingestion grace
58
+ # period. Performing a backfill in Orb involves 3 steps:
59
+ # 1. Create the backfill, specifying its parameters.
60
+ # 2. [Ingest](/api-reference/event/ingest-events) usage events, referencing
61
+ # the backfill (query parameter `backfill_id`).
62
+ # 3. [Close](close-backfill) the
63
+ # backfill, propagating the update in past usage throughout Orb.
64
+ # Changes from a backfill are not reflected until the
65
+ # backfill is closed, so you won’t need to worry about your customers seeing
66
+ # partially updated usage data. Backfills are
67
+ # also reversible, so you’ll be able to revert a backfill if you’ve made a
68
+ # mistake.
69
+ # This endpoint will return a
70
+ # backfill object, which contains an `id`. That `id` can then be used as the
71
+ # `backfill_id` query parameter to the event
72
+ # ingestion endpoint to associate ingested events with this backfill. The
73
+ # effects (e.g. updated usage graphs) of this
74
+ # backfill will not take place until the backfill is closed.
75
+ # If the `replace_existing_events` is `true`, existing
76
+ # events in the backfill's timeframe will be replaced with the newly
77
+ # ingested events associated with the backfill. If
78
+ # `false`, newly ingested events will be added to the existing events.
79
+ # If a `customer_id` or `external_customer_id` is specified, the backfill
80
+ # will only affect events for that customer.
81
+ # If neither is specified, the backfill will affect all customers.
82
+ # When `replace_existing_events` is `true`, this indicates that existing
83
+ # events in the timeframe should no longer be counted
84
+ # towards invoiced usage. In this scenario, the parameter
85
+ # `deprecation_filter` can be optionally added which enables filtering
86
+ # using [computed
87
+ # properties](/extensibility/advanced-metrics#computed-properties). The
88
+ # expressiveness of computed properties
89
+ # allows you to deprecate existing events based on both a period of time and
90
+ # specific property values.
91
+ # You may not have multiple backfills in a pending or pending_revert state
92
+ # with overlapping timeframes.
93
+ # @param [NewBackfill] body Required parameter: TODO: type description
94
+ # here
95
+ # @return [ApiResponse] Complete http response with raw body and status code.
96
+ def create_backfill(body)
97
+ @api_call
98
+ .request(new_request_builder(HttpMethodEnum::POST,
99
+ '/events/backfills',
100
+ Server::DEFAULT)
101
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
102
+ .body_param(new_parameter(body)
103
+ .is_required(true))
104
+ .header_param(new_parameter('application/json', key: 'accept'))
105
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
106
+ .auth(Single.new('APIKeyAuth')))
107
+ .response(new_response_handler
108
+ .deserializer(APIHelper.method(:custom_type_deserializer))
109
+ .deserialize_into(Backfill.method(:from_hash))
110
+ .is_api_response(true)
111
+ .local_error('400',
112
+ 'Bad Request',
113
+ APIException)
114
+ .local_error('401',
115
+ 'Unauthorized',
116
+ AuthorizationErrorException)
117
+ .local_error('404',
118
+ 'Not Found',
119
+ APIException)
120
+ .local_error('409',
121
+ 'Conflict',
122
+ IdempotencyRequestMismatchException)
123
+ .local_error('413',
124
+ 'Content Too Large',
125
+ APIException)
126
+ .local_error('429',
127
+ 'Too Many Requests',
128
+ TooManyRequestsException)
129
+ .local_error('500',
130
+ 'Internal Server Error',
131
+ ServerErrorException))
132
+ .execute
133
+ end
134
+
135
+ # This endpoint is used to fetch a backfill given an identifier.
136
+ # @param [String] backfill_id Required parameter: TODO: type description
137
+ # here
138
+ # @return [ApiResponse] Complete http response with raw body and status code.
139
+ def fetch_backfill(backfill_id)
140
+ @api_call
141
+ .request(new_request_builder(HttpMethodEnum::GET,
142
+ '/events/backfills/{backfill_id}',
143
+ Server::DEFAULT)
144
+ .template_param(new_parameter(backfill_id, key: 'backfill_id')
145
+ .is_required(true)
146
+ .should_encode(true))
147
+ .header_param(new_parameter('application/json', key: 'accept'))
148
+ .auth(Single.new('APIKeyAuth')))
149
+ .response(new_response_handler
150
+ .deserializer(APIHelper.method(:custom_type_deserializer))
151
+ .deserialize_into(Backfill.method(:from_hash))
152
+ .is_api_response(true)
153
+ .local_error('400',
154
+ 'Bad Request',
155
+ APIException)
156
+ .local_error('401',
157
+ 'Unauthorized',
158
+ AuthorizationErrorException)
159
+ .local_error('404',
160
+ 'Not Found',
161
+ APIException)
162
+ .local_error('409',
163
+ 'Conflict',
164
+ IdempotencyRequestMismatchException)
165
+ .local_error('413',
166
+ 'Content Too Large',
167
+ APIException)
168
+ .local_error('429',
169
+ 'Too Many Requests',
170
+ TooManyRequestsException)
171
+ .local_error('500',
172
+ 'Internal Server Error',
173
+ ServerErrorException))
174
+ .execute
175
+ end
176
+
177
+ # Closing a backfill makes the updated usage visible in Orb. Upon closing a
178
+ # backfill, Orb will asynchronously reflect
179
+ # the updated usage in invoice amounts and usage graphs. Once all of the
180
+ # updates are complete, the backfill's status
181
+ # will transition to `reflected`.
182
+ # @param [String] backfill_id Required parameter: TODO: type description
183
+ # here
184
+ # @return [ApiResponse] Complete http response with raw body and status code.
185
+ def close_backfill(backfill_id)
186
+ @api_call
187
+ .request(new_request_builder(HttpMethodEnum::POST,
188
+ '/events/backfills/{backfill_id}/close',
189
+ Server::DEFAULT)
190
+ .template_param(new_parameter(backfill_id, key: 'backfill_id')
191
+ .is_required(true)
192
+ .should_encode(true))
193
+ .header_param(new_parameter('application/json', key: 'accept'))
194
+ .auth(Single.new('APIKeyAuth')))
195
+ .response(new_response_handler
196
+ .deserializer(APIHelper.method(:custom_type_deserializer))
197
+ .deserialize_into(Backfill.method(:from_hash))
198
+ .is_api_response(true)
199
+ .local_error('400',
200
+ 'Bad Request',
201
+ APIException)
202
+ .local_error('401',
203
+ 'Unauthorized',
204
+ AuthorizationErrorException)
205
+ .local_error('404',
206
+ 'Not Found',
207
+ APIException)
208
+ .local_error('409',
209
+ 'Conflict',
210
+ IdempotencyRequestMismatchException)
211
+ .local_error('413',
212
+ 'Content Too Large',
213
+ APIException)
214
+ .local_error('429',
215
+ 'Too Many Requests',
216
+ TooManyRequestsException)
217
+ .local_error('500',
218
+ 'Internal Server Error',
219
+ ServerErrorException))
220
+ .execute
221
+ end
222
+
223
+ # Reverting a backfill undoes all the effects of closing the backfill. If
224
+ # the backfill is reflected, the status will
225
+ # transition to `pending_revert` while the effects of the backfill are
226
+ # undone. Once all effects are undone, the
227
+ # backfill will transition to `reverted`.
228
+ # If a backfill is reverted before its closed, no usage will be updated as a
229
+ # result of the backfill and it will
230
+ # immediately transition to `reverted`.
231
+ # @param [String] backfill_id Required parameter: TODO: type description
232
+ # here
233
+ # @return [ApiResponse] Complete http response with raw body and status code.
234
+ def revert_backfill(backfill_id)
235
+ @api_call
236
+ .request(new_request_builder(HttpMethodEnum::POST,
237
+ '/events/backfills/{backfill_id}/revert',
238
+ Server::DEFAULT)
239
+ .template_param(new_parameter(backfill_id, key: 'backfill_id')
240
+ .is_required(true)
241
+ .should_encode(true))
242
+ .header_param(new_parameter('application/json', key: 'accept'))
243
+ .auth(Single.new('APIKeyAuth')))
244
+ .response(new_response_handler
245
+ .deserializer(APIHelper.method(:custom_type_deserializer))
246
+ .deserialize_into(Backfill.method(:from_hash))
247
+ .is_api_response(true)
248
+ .local_error('400',
249
+ 'Bad Request',
250
+ APIException)
251
+ .local_error('401',
252
+ 'Unauthorized',
253
+ AuthorizationErrorException)
254
+ .local_error('404',
255
+ 'Not Found',
256
+ APIException)
257
+ .local_error('409',
258
+ 'Conflict',
259
+ IdempotencyRequestMismatchException)
260
+ .local_error('413',
261
+ 'Content Too Large',
262
+ APIException)
263
+ .local_error('429',
264
+ 'Too Many Requests',
265
+ TooManyRequestsException)
266
+ .local_error('500',
267
+ 'Internal Server Error',
268
+ ServerErrorException))
269
+ .execute
270
+ end
271
+
272
+ # This endpoint returns a filtered set of events for an account in a
273
+ # [paginated list format](/api-reference/pagination).
274
+ # Note that this is a `POST` endpoint rather than a `GET` endpoint because
275
+ # it employs a JSON body for search criteria
276
+ # rather than query parameters, allowing for a more flexible search syntax.
277
+ # Note that a search criteria _must_ be specified. Currently, Orb supports
278
+ # the following criteria:
279
+ # - `event_ids`: This is an explicit array of IDs to filter by. Note that an
280
+ # event's ID is the `idempotency_key` that
281
+ # was originally used for ingestion.
282
+ # By default, Orb will not throw a `404` if no events matched, Orb will
283
+ # return an empty array for `data` instead.
284
+ # @param [EventSearchCriteria] body Required parameter: TODO: type
285
+ # description here
286
+ # @return [ApiResponse] Complete http response with raw body and status code.
287
+ def search_events(body)
288
+ @api_call
289
+ .request(new_request_builder(HttpMethodEnum::POST,
290
+ '/events/search',
291
+ Server::DEFAULT)
292
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
293
+ .body_param(new_parameter(body)
294
+ .is_required(true))
295
+ .header_param(new_parameter('application/json', key: 'accept'))
296
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
297
+ .auth(Single.new('APIKeyAuth')))
298
+ .response(new_response_handler
299
+ .deserializer(APIHelper.method(:custom_type_deserializer))
300
+ .deserialize_into(Events.method(:from_hash))
301
+ .is_api_response(true)
302
+ .local_error('400',
303
+ 'Bad Request',
304
+ APIException)
305
+ .local_error('401',
306
+ 'Unauthorized',
307
+ AuthorizationErrorException)
308
+ .local_error('404',
309
+ 'Not Found',
310
+ APIException)
311
+ .local_error('409',
312
+ 'Conflict',
313
+ IdempotencyRequestMismatchException)
314
+ .local_error('413',
315
+ 'Content Too Large',
316
+ APIException)
317
+ .local_error('429',
318
+ 'Too Many Requests',
319
+ TooManyRequestsException)
320
+ .local_error('500',
321
+ 'Internal Server Error',
322
+ ServerErrorException))
323
+ .execute
324
+ end
325
+
326
+ # This endpoint returns the event volume for an account in a [paginated list
327
+ # format](/api-reference/pagination).
328
+ # The event volume is aggregated by the hour and the
329
+ # [timestamp](/api-reference/event/ingest-events)
330
+ # field is used to determine which hour an event is associated with. Note,
331
+ # this means that late-arriving events
332
+ # increment the volume count for the hour window the timestamp is in, not
333
+ # the latest hour window.
334
+ # Each item in the response contains the count of events aggregated by the
335
+ # hour
336
+ # where the start and end time are hour-aligned and in UTC. When a specific
337
+ # timestamp is passed
338
+ # in for either start or end time, the response includes the hours the
339
+ # timestamp falls in.
340
+ # @param [DateTime] timeframe_start Required parameter: TODO: type
341
+ # description here
342
+ # @param [Integer] limit Optional parameter: Example:20
343
+ # @param [String] cursor Optional parameter: TODO: type description here
344
+ # @param [DateTime] timeframe_end Optional parameter: TODO: type description
345
+ # here
346
+ # @return [ApiResponse] Complete http response with raw body and status code.
347
+ def get_event_volume(timeframe_start,
348
+ limit: 20,
349
+ cursor: nil,
350
+ timeframe_end: nil)
351
+ @api_call
352
+ .request(new_request_builder(HttpMethodEnum::GET,
353
+ '/events/volume',
354
+ Server::DEFAULT)
355
+ .query_param(new_parameter(timeframe_start, key: 'timeframe_start')
356
+ .is_required(true))
357
+ .query_param(new_parameter(limit, key: 'limit'))
358
+ .query_param(new_parameter(cursor, key: 'cursor'))
359
+ .query_param(new_parameter(timeframe_end, key: 'timeframe_end'))
360
+ .header_param(new_parameter('application/json', key: 'accept'))
361
+ .auth(Single.new('APIKeyAuth')))
362
+ .response(new_response_handler
363
+ .deserializer(APIHelper.method(:custom_type_deserializer))
364
+ .deserialize_into(EventVolumes.method(:from_hash))
365
+ .is_api_response(true)
366
+ .local_error('400',
367
+ 'Bad Request',
368
+ APIException)
369
+ .local_error('401',
370
+ 'Unauthorized',
371
+ AuthorizationErrorException)
372
+ .local_error('404',
373
+ 'Not Found',
374
+ APIException)
375
+ .local_error('409',
376
+ 'Conflict',
377
+ IdempotencyRequestMismatchException)
378
+ .local_error('413',
379
+ 'Content Too Large',
380
+ APIException)
381
+ .local_error('429',
382
+ 'Too Many Requests',
383
+ TooManyRequestsException)
384
+ .local_error('500',
385
+ 'Internal Server Error',
386
+ ServerErrorException))
387
+ .execute
388
+ end
389
+
390
+ # This endpoint is used to amend a single usage event with a given
391
+ # `event_id`. `event_id` refers to the
392
+ # `idempotency_key` passed in during ingestion. The event will maintain its
393
+ # existing `event_id` after the amendment.
394
+ # This endpoint will mark the existing event as ignored, and Orb will only
395
+ # use the new event passed in the body of
396
+ # this request as the source of truth for that `event_id`. Note that a
397
+ # single event can be amended any number of
398
+ # times, so the same event can be overwritten in subsequent calls to this
399
+ # endpoint. Only a single event with a given
400
+ # `event_id` will be considered the source of truth at any given time.
401
+ # This is a powerful and audit-safe mechanism to retroactively update a
402
+ # single event in cases where you need to:
403
+ # * update an event with new metadata as you iterate on your pricing model
404
+ # * update an event based on the result of an external API call (e.g. call
405
+ # to a payment gateway succeeded or failed)
406
+ # This amendment API is always audit-safe. The process will still retain the
407
+ # original event, though it will be
408
+ # ignored for billing calculations. For auditing and data fidelity purposes,
409
+ # Orb never overwrites or permanently
410
+ # deletes ingested usage data.
411
+ # ## Request validation
412
+ # * The `timestamp` of the new event must match the `timestamp` of the
413
+ # existing event already ingested. As with
414
+ # ingestion, all timestamps must be sent in ISO8601 format with UTC
415
+ # timezone offset.
416
+ # * The `customer_id` or `external_customer_id` of the new event must match
417
+ # the `customer_id` or
418
+ # `external_customer_id` of the existing event already ingested. Exactly
419
+ # one of `customer_id` and
420
+ # `external_customer_id` should be specified, and similar to ingestion,
421
+ # the ID must identify a Customer resource
422
+ # within Orb. Unlike ingestion, for event amendment, we strictly enforce
423
+ # that the Customer must be in the Orb
424
+ # system, even during the initial integration period. We do not allow
425
+ # updating the `Customer` an event is
426
+ # associated with.
427
+ # * Orb does not accept an `idempotency_key` with the event in this
428
+ # endpoint, since this request is by design
429
+ # idempotent. On retryable errors, you should retry the request and assume
430
+ # the amendment operation has not
431
+ # succeeded until receipt of a 2xx.
432
+ # * The event's `timestamp` must fall within the customer's current
433
+ # subscription's billing period, or within the
434
+ # grace period of the customer's current subscription's previous billing
435
+ # period.
436
+ # * By default, no more than 100 events can be amended for a single customer
437
+ # in a 100 day period. For higher volume
438
+ # updates, consider using the [event backfill](create-backfill) endpoint.
439
+ # @param [String] event_id Required parameter: TODO: type description here
440
+ # @param [AmendedEvent] body Required parameter: TODO: type description
441
+ # here
442
+ # @return [ApiResponse] Complete http response with raw body and status code.
443
+ def amend_event(event_id,
444
+ body)
445
+ @api_call
446
+ .request(new_request_builder(HttpMethodEnum::PUT,
447
+ '/events/{event_id}',
448
+ Server::DEFAULT)
449
+ .template_param(new_parameter(event_id, key: 'event_id')
450
+ .is_required(true)
451
+ .should_encode(true))
452
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
453
+ .body_param(new_parameter(body)
454
+ .is_required(true))
455
+ .header_param(new_parameter('application/json', key: 'accept'))
456
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
457
+ .auth(Single.new('APIKeyAuth')))
458
+ .response(new_response_handler
459
+ .deserializer(APIHelper.method(:custom_type_deserializer))
460
+ .deserialize_into(AmendEventResult.method(:from_hash))
461
+ .is_api_response(true)
462
+ .local_error('400',
463
+ 'Bad Request',
464
+ APIException)
465
+ .local_error('401',
466
+ 'Unauthorized',
467
+ AuthorizationErrorException)
468
+ .local_error('404',
469
+ 'Not Found',
470
+ APIException)
471
+ .local_error('409',
472
+ 'Conflict',
473
+ IdempotencyRequestMismatchException)
474
+ .local_error('413',
475
+ 'Content Too Large',
476
+ APIException)
477
+ .local_error('429',
478
+ 'Too Many Requests',
479
+ TooManyRequestsException)
480
+ .local_error('500',
481
+ 'Internal Server Error',
482
+ ServerErrorException))
483
+ .execute
484
+ end
485
+
486
+ # This endpoint is used to deprecate a single usage event with a given
487
+ # `event_id`. `event_id` refers to the
488
+ # `idempotency_key` passed in during ingestion.
489
+ # This endpoint will mark the existing event as ignored. Note that if you
490
+ # attempt to re-ingest an event with the same
491
+ # `event_id` as a deprecated event, Orb will return an error.
492
+ # This is a powerful and audit-safe mechanism to retroactively deprecate a
493
+ # single event in cases where you need to:
494
+ # * no longer bill for an event that was improperly reported
495
+ # * no longer bill for an event based on the result of an external API call
496
+ # (e.g. call to a payment gateway failed and
497
+ # the user should not be billed)
498
+ # If you want to only change specific properties of an event, but keep the
499
+ # event as part of the billing calculation,
500
+ # use the [Amend event](amend-event) endpoint instead.
501
+ # This API is always audit-safe. The process will still retain the
502
+ # deprecated event, though it will be ignored for
503
+ # billing calculations. For auditing and data fidelity purposes, Orb never
504
+ # overwrites or permanently deletes ingested
505
+ # usage data.
506
+ # ## Request validation
507
+ # * Orb does not accept an `idempotency_key` with the event in this
508
+ # endpoint, since this request is by design
509
+ # idempotent. On retryable errors, you should retry the request and assume
510
+ # the deprecation operation has not
511
+ # succeeded until receipt of a 2xx.
512
+ # * The event's `timestamp` must fall within the customer's current
513
+ # subscription's billing period, or within the
514
+ # grace period of the customer's current subscription's previous billing
515
+ # period. Orb does not allow deprecating
516
+ # events for billing periods that have already invoiced customers.
517
+ # * The `customer_id` or the `external_customer_id` of the original event
518
+ # ingestion request must identify a Customer
519
+ # resource within Orb, even if this event was ingested during the initial
520
+ # integration period. We do not allow
521
+ # deprecating events for customers not in the Orb system.
522
+ # * By default, no more than 100 events can be deprecated for a single
523
+ # customer in a 100 day period. For higher volume
524
+ # updates, consider using the [event backfill](create-backfill) endpoint.
525
+ # @param [String] event_id Required parameter: TODO: type description here
526
+ # @return [ApiResponse] Complete http response with raw body and status code.
527
+ def deprecate_event(event_id)
528
+ @api_call
529
+ .request(new_request_builder(HttpMethodEnum::PUT,
530
+ '/events/{event_id}/deprecate',
531
+ Server::DEFAULT)
532
+ .template_param(new_parameter(event_id, key: 'event_id')
533
+ .is_required(true)
534
+ .should_encode(true))
535
+ .header_param(new_parameter('application/json', key: 'accept'))
536
+ .auth(Single.new('APIKeyAuth')))
537
+ .response(new_response_handler
538
+ .deserializer(APIHelper.method(:custom_type_deserializer))
539
+ .deserialize_into(DeprecatedEventResult.method(:from_hash))
540
+ .is_api_response(true)
541
+ .local_error('400',
542
+ 'Bad Request',
543
+ APIException)
544
+ .local_error('401',
545
+ 'Unauthorized',
546
+ AuthorizationErrorException)
547
+ .local_error('404',
548
+ 'Not Found',
549
+ APIException)
550
+ .local_error('409',
551
+ 'Conflict',
552
+ IdempotencyRequestMismatchException)
553
+ .local_error('413',
554
+ 'Content Too Large',
555
+ APIException)
556
+ .local_error('429',
557
+ 'Too Many Requests',
558
+ TooManyRequestsException)
559
+ .local_error('500',
560
+ 'Internal Server Error',
561
+ ServerErrorException))
562
+ .execute
563
+ end
564
+
565
+ # Orb's event ingestion model and API is designed around two core
566
+ # principles:
567
+ # 1. **Data fidelity**: The accuracy of your billing model depends on a
568
+ # robust foundation of events. Orb's API protocol
569
+ # encourages usage patterns that ensure that your data is consistently
570
+ # complete and correct.
571
+ # 2. **Fast integration**: Sending events into Orb requires no tedious setup
572
+ # steps or explicit field schema for your event
573
+ # shape, making it instant to start streaming in usage in real-time.
574
+ # ## Event shape
575
+ # Events are the starting point for all usage calculations in the system,
576
+ # and are simple at their core:
577
+ # ```ts
578
+ # {
579
+ # // customer_id and external_customer_id are used to
580
+ # // attribute usage to a given Customer. Exactly one of these
581
+ # // should be specified in a given ingestion event.
582
+ # // `customer_id` is the Orb generated identifier for the Customer,
583
+ # // which is returned from the Create customer API call.
584
+ # customer_id: string,
585
+ # // external_customer_id is an alternate identifier which is associated
586
+ # // with a Customer at creation time. This is treated as an alias for
587
+ # // customer_id, and is usually set to an identifier native to your
588
+ # system.
589
+ # external_customer_id: string,
590
+ # // A string name identifying the event, usually a usage
591
+ # // action. By convention, this should not contain any whitespace.
592
+ # event_name: string,
593
+ # // An ISO 8601 format date with no timezone offset.
594
+ # // This should represent the time that usage occurred
595
+ # // and is important to attribute usage to a given
596
+ # // billing period. See the notes below on determining the timestamp.
597
+ # // e.g. 2020-12-09T16:09:53Z
598
+ # timestamp: string,
599
+ # // A unique value, generated by the client, that is
600
+ # // used to de-duplicate events.
601
+ # // Exactly one event with a given
602
+ # // idempotency key will be ingested, which allows for
603
+ # // safe request retries.
604
+ # idempotency_key: string
605
+ # // Optional custom metadata to attach to the event.
606
+ # // This might include a numeric value used for aggregation,
607
+ # // or a string/boolean value used for filtering.
608
+ # // The schema of this dictionary need not be pre-declared, and
609
+ # // properties can be added at any time.
610
+ # properties: {
611
+ # [key: string]?: string | number | boolean,
612
+ # },
613
+ # }
614
+ # ```
615
+ # ## Required fields
616
+ # Because events streamed to Orb are meant to be as flexible as possible,
617
+ # there are only a few required fields in every
618
+ # event.
619
+ # - We recommend that `idempotency_key` are unique strings that you
620
+ # generated with V4 UUIDs, but only require that they
621
+ # uniquely identify an event (i.e. don’t collide).
622
+ # - The `timestamp` field in the event body will be used to determine which
623
+ # billable period a given event falls into. For
624
+ # example, with a monthly billing cycle starting from the first of December,
625
+ # Orb will calculate metrics based on events
626
+ # that fall into the range `12-01 00:00:00 <= timestamp < 01-01 00:00:00`.
627
+ # ## Logging metadata
628
+ # Orb allows tagging events with metadata using a flexible properties
629
+ # dictionary. Since Orb does not enforce a rigid
630
+ # schema for this field-set, key-value pairs can be added dynamically as
631
+ # your events evolve.
632
+ # This dictionary can be helpful for a wide variety of use cases:
633
+ # - Numeric properties on events like `compute_time_ms` can later be inputs
634
+ # to our flexible query engine to determine
635
+ # usage.
636
+ # - Logging a region or cluster with each event can help you provide
637
+ # customers more granular visibility into their usage.
638
+ # - If you are using matrix pricing and matching a matrix price key with a
639
+ # property,
640
+ # you should ensure the value for that property is sent as a string.
641
+ # We encourage logging this metadata with an eye towards future use cases to
642
+ # ensure full coverage for historical data. The
643
+ # datatype of the value in the properties dictionary is important for metric
644
+ # creation from an event source. Values that
645
+ # you wish to numerically aggregate should be of numeric type in the event.
646
+ # ## Determining event timestamp
647
+ # For cases where usage is being reported in real time as it is occurring,
648
+ # timestamp should correspond to the time that
649
+ # usage occurred.
650
+ # In cases where usage is reported in aggregate for a historical timeframe
651
+ # at a regular interval, we recommend setting the
652
+ # event `timestamp` to the midpoint of the interval. As an example, if you
653
+ # have an hourly reporter that sends data once an
654
+ # hour for the previous hour of usage, setting the `timestamp` to the
655
+ # half-hour mark will ensure that the usage is counted
656
+ # within the correct period.
657
+ # Note that other time-related fields (e.g. time elapsed) can be added to
658
+ # the properties dictionary as necessary.
659
+ # In cases where usage is reported in aggregate for a historical timeframe,
660
+ # the timestamp must be within the grace period
661
+ # set for your account. Events with `timestamp < current_time -
662
+ # grace_period` will not be accepted as a valid event, and
663
+ # will throw validation errors. Enforcing the grace period enables Orb to
664
+ # accurately map usage to the correct billing
665
+ # cycle and ensure that all usage is billed for in the corresponding billing
666
+ # period.
667
+ # In general, Orb does not expect events with future dated timestamps. In
668
+ # cases where the timestamp is 5 minutes ahead
669
+ # of the current time, the event will not be accepted as a valid event, and
670
+ # will throw validation errors.
671
+ # ## Event validation
672
+ # Orb’s validation ensures that you recognize errors in your events as
673
+ # quickly as possible, and the API provides
674
+ # informative error messages to help you fix problems quickly.
675
+ # We validate the following:
676
+ # - Exactly one of `customer_id` and `external_customer_id` should be
677
+ # specified.
678
+ # - If the `customer_id` is specified, the customer in Orb must exist.
679
+ # - If the `external_customer_id` is specified, the customer in Orb does not
680
+ # need to exist. Events will be attributed to any
681
+ # future customers with the `external_customer_id` on subscription creation.
682
+ # - `timestamp` must conform to ISO 8601 and represent a timestamp at most 5
683
+ # minutes in the future. This timestamp should be
684
+ # sent in UTC timezone (no timezone offset).
685
+ # ## Idempotency and retry semantics
686
+ # Orb's idempotency guarantees allow you to implement safe retry logic in
687
+ # the event of network or machine failures,
688
+ # ensuring data fidelity. Each event in the request payload is associated
689
+ # with an idempotency key, and Orb guarantees that
690
+ # a single idempotency key will be successfully ingested at most once. Note
691
+ # that when Orb encounters events with duplicate
692
+ # idempotency keys and differing event bodies in a batch of events, the
693
+ # entire batch will be rejected.
694
+ # - Successful responses return a 200 HTTP status code. The response
695
+ # contains information about previously processed
696
+ # events.
697
+ # - Requests that return a `4xx` HTTP status code indicate a payload error
698
+ # and contain at least one event with a
699
+ # validation failure. An event with a validation failure can be re-sent to
700
+ # the ingestion endpoint (after the payload is
701
+ # fixed) with the original idempotency key since that key is not marked as
702
+ # processed.
703
+ # - Requests that return a `5xx` HTTP status code indicate a server-side
704
+ # failure. These requests should be retried in
705
+ # their entirety.
706
+ # ## API usage and limits
707
+ # The ingestion API is designed made for real-time streaming ingestion and
708
+ # architected for high throughput. Even if events
709
+ # are later deemed unnecessary or filtered out, we encourage you to log them
710
+ # to Orb if they may be relevant to billing
711
+ # calculations in the future.
712
+ # To take advantage of the real-time features of the Orb platform and avoid
713
+ # any chance of dropped events by producers, we
714
+ # recommend reporting events to Orb frequently. Optionally, events can also
715
+ # be briefly aggregated at the source, as this
716
+ # API accepts an array of event bodies.
717
+ # Orb does not currently enforce a hard rate-limit for API usage or a
718
+ # maximum request payload size, but please give us a
719
+ # heads up if you’re changing either of these factors by an order of
720
+ # magnitude from initial setup.
721
+ # #### Example: ingestion response
722
+ # ```json
723
+ # {
724
+ # "validation_failed": []
725
+ # }
726
+ # ```
727
+ # @param [IngestRequestBody] body Required parameter: TODO: type description
728
+ # here
729
+ # @param [TrueClass | FalseClass] debug Optional parameter: Example:false
730
+ # @param [String] backfill_id Optional parameter: TODO: type description
731
+ # here
732
+ # @return [ApiResponse] Complete http response with raw body and status code.
733
+ def ingest(body,
734
+ debug: false,
735
+ backfill_id: nil)
736
+ @api_call
737
+ .request(new_request_builder(HttpMethodEnum::POST,
738
+ '/ingest',
739
+ Server::DEFAULT)
740
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
741
+ .body_param(new_parameter(body)
742
+ .is_required(true))
743
+ .query_param(new_parameter(debug, key: 'debug'))
744
+ .query_param(new_parameter(backfill_id, key: 'backfill_id'))
745
+ .header_param(new_parameter('application/json', key: 'accept'))
746
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
747
+ .auth(Single.new('APIKeyAuth')))
748
+ .response(new_response_handler
749
+ .deserializer(APIHelper.method(:custom_type_deserializer))
750
+ .deserialize_into(IngestionResponse.method(:from_hash))
751
+ .is_api_response(true)
752
+ .local_error('400',
753
+ 'Bad Request',
754
+ APIException)
755
+ .local_error('401',
756
+ 'Unauthorized',
757
+ AuthorizationErrorException)
758
+ .local_error('404',
759
+ 'Not Found',
760
+ APIException)
761
+ .local_error('409',
762
+ 'Conflict',
763
+ IdempotencyRequestMismatchException)
764
+ .local_error('413',
765
+ 'Content Too Large',
766
+ APIException)
767
+ .local_error('429',
768
+ 'Too Many Requests',
769
+ TooManyRequestsException)
770
+ .local_error('500',
771
+ 'Internal Server Error',
772
+ ServerErrorException))
773
+ .execute
774
+ end
775
+ end
776
+ end