maxio-advanced-billing-sdk 8.0.0 → 9.0.0

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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +48 -47
  4. data/lib/advanced_billing/client.rb +6 -0
  5. data/lib/advanced_billing/controllers/advance_invoice_controller.rb +3 -3
  6. data/lib/advanced_billing/controllers/base_controller.rb +1 -1
  7. data/lib/advanced_billing/controllers/component_price_points_controller.rb +62 -2
  8. data/lib/advanced_billing/controllers/events_controller.rb +1 -1
  9. data/lib/advanced_billing/controllers/invoices_controller.rb +10 -5
  10. data/lib/advanced_billing/controllers/payment_profiles_controller.rb +5 -6
  11. data/lib/advanced_billing/controllers/proforma_invoices_controller.rb +44 -3
  12. data/lib/advanced_billing/controllers/subscription_components_controller.rb +52 -79
  13. data/lib/advanced_billing/controllers/subscription_groups_controller.rb +4 -4
  14. data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +7 -7
  15. data/lib/advanced_billing/controllers/subscription_notes_controller.rb +6 -6
  16. data/lib/advanced_billing/controllers/subscription_products_controller.rb +2 -2
  17. data/lib/advanced_billing/controllers/subscription_renewals_controller.rb +351 -0
  18. data/lib/advanced_billing/controllers/subscription_status_controller.rb +28 -23
  19. data/lib/advanced_billing/controllers/subscriptions_controller.rb +12 -12
  20. data/lib/advanced_billing/models/allocate_components.rb +0 -2
  21. data/lib/advanced_billing/models/allocation.rb +0 -6
  22. data/lib/advanced_billing/models/allocation_preview_item.rb +0 -3
  23. data/lib/advanced_billing/models/allocation_settings.rb +0 -2
  24. data/lib/advanced_billing/models/available_actions.rb +73 -0
  25. data/lib/advanced_billing/models/calendar_billing.rb +1 -3
  26. data/lib/advanced_billing/models/cancellation_options.rb +71 -6
  27. data/lib/advanced_billing/models/clone_component_price_point.rb +81 -0
  28. data/lib/advanced_billing/models/clone_component_price_point_request.rb +71 -0
  29. data/lib/advanced_billing/models/component.rb +0 -2
  30. data/lib/advanced_billing/models/component_custom_price.rb +35 -9
  31. data/lib/advanced_billing/models/component_price_point.rb +2 -1
  32. data/lib/advanced_billing/models/component_price_point_currency_overage_response.rb +71 -0
  33. data/lib/advanced_billing/models/contract.rb +104 -0
  34. data/lib/advanced_billing/models/create_allocation.rb +97 -35
  35. data/lib/advanced_billing/models/create_subscription.rb +2 -1
  36. data/lib/advanced_billing/models/credit_type.rb +1 -2
  37. data/lib/advanced_billing/models/currency_overage_prices.rb +433 -0
  38. data/lib/advanced_billing/models/deliver_proforma_invoice_request.rb +97 -0
  39. data/lib/advanced_billing/models/downgrade_credit_credit_type.rb +43 -0
  40. data/lib/advanced_billing/models/nested_subscription_group.rb +0 -10
  41. data/lib/advanced_billing/models/on_off_component.rb +0 -3
  42. data/lib/advanced_billing/models/prepaid_configuration.rb +0 -10
  43. data/lib/advanced_billing/models/prepaid_usage_component.rb +0 -3
  44. data/lib/advanced_billing/models/preview_allocations_request.rb +0 -2
  45. data/lib/advanced_billing/models/product.rb +0 -10
  46. data/lib/advanced_billing/models/product_family.rb +22 -12
  47. data/lib/advanced_billing/models/proforma_invoice.rb +17 -3
  48. data/lib/advanced_billing/models/public_signup_page.rb +0 -10
  49. data/lib/advanced_billing/models/quantity_based_component.rb +0 -3
  50. data/lib/advanced_billing/models/reactivate_subscription_request.rb +8 -7
  51. data/lib/advanced_billing/models/register.rb +103 -0
  52. data/lib/advanced_billing/models/scheduled_renewal_component_custom_price.rb +127 -0
  53. data/lib/advanced_billing/models/scheduled_renewal_configuration.rb +212 -0
  54. data/lib/advanced_billing/models/scheduled_renewal_configuration_item.rb +195 -0
  55. data/lib/advanced_billing/models/scheduled_renewal_configuration_item_request.rb +87 -0
  56. data/lib/advanced_billing/models/scheduled_renewal_configuration_item_response.rb +82 -0
  57. data/lib/advanced_billing/models/scheduled_renewal_configuration_request.rb +73 -0
  58. data/lib/advanced_billing/models/scheduled_renewal_configuration_request_body.rb +141 -0
  59. data/lib/advanced_billing/models/scheduled_renewal_configuration_response.rb +81 -0
  60. data/lib/advanced_billing/models/scheduled_renewal_configurations_response.rb +88 -0
  61. data/lib/advanced_billing/models/scheduled_renewal_item_request_body_component.rb +132 -0
  62. data/lib/advanced_billing/models/scheduled_renewal_item_request_body_product.rb +132 -0
  63. data/lib/advanced_billing/models/scheduled_renewal_lock_in_request.rb +71 -0
  64. data/lib/advanced_billing/models/scheduled_renewal_product_price_point.rb +192 -0
  65. data/lib/advanced_billing/models/scheduled_renewal_update_request.rb +87 -0
  66. data/lib/advanced_billing/models/send_email.rb +79 -0
  67. data/lib/advanced_billing/models/send_invoice_request.rb +17 -4
  68. data/lib/advanced_billing/models/status.rb +52 -0
  69. data/lib/advanced_billing/models/subscription.rb +6 -18
  70. data/lib/advanced_billing/models/subscription_component.rb +0 -14
  71. data/lib/advanced_billing/models/subscription_custom_price.rb +2 -1
  72. data/lib/advanced_billing/models/subscription_group.rb +16 -7
  73. data/lib/advanced_billing/models/subscription_group_signup_item.rb +2 -1
  74. data/lib/advanced_billing/models/subscription_included_coupon.rb +0 -10
  75. data/lib/advanced_billing/models/subscription_sort.rb +17 -1
  76. data/lib/advanced_billing/models/update_component.rb +0 -1
  77. data/lib/advanced_billing/models/update_subscription.rb +4 -4
  78. data/lib/advanced_billing/models/upgrade_charge_credit_type.rb +44 -0
  79. data/lib/advanced_billing/utilities/union_type_lookup.rb +256 -227
  80. data/lib/advanced_billing.rb +390 -354
  81. metadata +29 -3
  82. data/lib/advanced_billing/models/snap_day.rb +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4162d051ddc0cf07b64fd725db7e949703d79f1d4f6d2392f6eebc7bab3d4a93
4
- data.tar.gz: 219842157f663b67e9abbc765cd0789d7493a74638c104352bcf599877ec4d40
3
+ metadata.gz: d99bb2bf002ee0a7bc5ec80e0447000b6bdb579147527758be00403d356ba35f
4
+ data.tar.gz: c2fa38ed99bbef97a4d41d6e2ce54c877f949cedce09c83917b467c3ea64cbe2
5
5
  SHA512:
6
- metadata.gz: 9b036081cec516a5b4a0029890bf667539a4907509c3547b86a84456e3a119b95ab8d0ed1ec35cd3be15fb3a6dc32847918e2f745122d579b78d2c8477a31ccf
7
- data.tar.gz: 6f10a8b2cae2905d8bb8a6b110de110f2408173f0d6a61713e3a54b5ac2252cabddbab1654fb4ec0821703e2a662aba37c31e0d4c0f239c879003acb3011349d
6
+ metadata.gz: 34fac41ec4ea83b4168125fca951d183da08cd24ab797eac457aadbd83bd492f33c82a01a5be42c1c105240dda4f7c385456e72f43fff4ba5390a3d235e0d273
7
+ data.tar.gz: 5cca7b6d69365c2327cb231ec10f5467ef0a594eff89a3e281372a6ba4a86cb37a8848a4e45e22055e2b23c5219cb04db9643414fa5af78a66b06a80e28edb69
data/LICENSE CHANGED
@@ -3,7 +3,7 @@ License:
3
3
  The MIT License (MIT)
4
4
  http://opensource.org/licenses/MIT
5
5
 
6
- Copyright (c) 2014 - 2025 APIMATIC Limited
6
+ Copyright (c) 2014 - 2026 APIMATIC Limited
7
7
 
8
8
  Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -29,16 +29,16 @@ curl -u <api_key>:x -H Accept:application/json -H Content-Type:application/json
29
29
  Install the gem from the command line:
30
30
 
31
31
  ```bash
32
- gem install maxio-advanced-billing-sdk -v 8.0.0
32
+ gem install maxio-advanced-billing-sdk -v 9.0.0
33
33
  ```
34
34
 
35
35
  Or add the gem to your Gemfile and run `bundle`:
36
36
 
37
37
  ```ruby
38
- gem 'maxio-advanced-billing-sdk', '8.0.0'
38
+ gem 'maxio-advanced-billing-sdk', '9.0.0'
39
39
  ```
40
40
 
41
- For additional gem details, see the [RubyGems page for the maxio-advanced-billing-sdk gem](https://rubygems.org/gems/maxio-advanced-billing-sdk/versions/8.0.0).
41
+ For additional gem details, see the [RubyGems page for the maxio-advanced-billing-sdk gem](https://rubygems.org/gems/maxio-advanced-billing-sdk/versions/9.0.0).
42
42
 
43
43
  ## IRB Console Usage
44
44
 
@@ -77,14 +77,14 @@ ruby bin/console
77
77
 
78
78
  ## Initialize the API Client
79
79
 
80
- **_Note:_** Documentation for the client can be found [here.](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/client.md)
80
+ **_Note:_** Documentation for the client can be found [here.](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/client.md)
81
81
 
82
82
  The following parameters are configurable for the API Client:
83
83
 
84
84
  | Parameter | Type | Description |
85
85
  | --- | --- | --- |
86
86
  | site | `String` | The subdomain for your Advanced Billing site.<br>*Default*: `'subdomain'` |
87
- | environment | `Environment` | The API environment. <br> **Default: `Environment.US`** |
87
+ | environment | [`Environment`](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/README.md#environments) | The API environment. <br> **Default: `Environment.US`** |
88
88
  | connection | `Faraday::Connection` | The Faraday connection object passed by the SDK user for making requests |
89
89
  | adapter | `Faraday::Adapter` | The Faraday adapter object passed by the SDK user for performing http requests |
90
90
  | timeout | `Float` | The value to use for connection timeout. <br> **Default: 120** |
@@ -94,8 +94,8 @@ The following parameters are configurable for the API Client:
94
94
  | retry_statuses | `Array` | A list of HTTP statuses to retry. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
95
95
  | retry_methods | `Array` | A list of HTTP methods to retry. <br> **Default: %i[get put]** |
96
96
  | http_callback | `HttpCallBack` | The Http CallBack allows defining callables for pre and post API calls. |
97
- | proxy_settings | [`ProxySettings`](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/proxy-settings.md) | Optional proxy configuration to route HTTP requests through a proxy server. |
98
- | basic_auth_credentials | [`BasicAuthCredentials`](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/auth/basic-authentication.md) | The credential object for Basic Authentication |
97
+ | proxy_settings | [`ProxySettings`](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/proxy-settings.md) | Optional proxy configuration to route HTTP requests through a proxy server. |
98
+ | basic_auth_credentials | [`BasicAuthCredentials`](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/auth/basic-authentication.md) | The credential object for Basic Authentication |
99
99
 
100
100
  The API client can be initialized as follows:
101
101
 
@@ -125,7 +125,7 @@ include AdvancedBilling
125
125
  client = Client.from_env
126
126
  ```
127
127
 
128
- See the [`Environment-Based Client Initialization`](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/environment-based-client-initialization.md) section for details.
128
+ See the [`Environment-Based Client Initialization`](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/environment-based-client-initialization.md) section for details.
129
129
 
130
130
  ## Environments
131
131
 
@@ -142,57 +142,58 @@ The SDK can be configured to use a different environment for making API calls. A
142
142
 
143
143
  This API uses the following authentication schemes.
144
144
 
145
- * [`BasicAuth (Basic Authentication)`](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/auth/basic-authentication.md)
145
+ * [`BasicAuth (Basic Authentication)`](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/auth/basic-authentication.md)
146
146
 
147
147
  ## List of APIs
148
148
 
149
- * [API Exports](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/api-exports.md)
150
- * [Advance Invoice](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/advance-invoice.md)
151
- * [Billing Portal](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/billing-portal.md)
152
- * [Component Price Points](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/component-price-points.md)
153
- * [Custom Fields](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/custom-fields.md)
154
- * [Events-Based Billing Segments](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/events-based-billing-segments.md)
155
- * [Payment Profiles](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/payment-profiles.md)
156
- * [Product Families](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/product-families.md)
157
- * [Product Price Points](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/product-price-points.md)
158
- * [Proforma Invoices](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/proforma-invoices.md)
159
- * [Reason Codes](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/reason-codes.md)
160
- * [Referral Codes](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/referral-codes.md)
161
- * [Sales Commissions](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/sales-commissions.md)
162
- * [Subscription Components](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/subscription-components.md)
163
- * [Subscription Groups](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/subscription-groups.md)
164
- * [Subscription Group Invoice Account](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/subscription-group-invoice-account.md)
165
- * [Subscription Group Status](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/subscription-group-status.md)
166
- * [Subscription Invoice Account](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/subscription-invoice-account.md)
167
- * [Subscription Notes](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/subscription-notes.md)
168
- * [Subscription Products](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/subscription-products.md)
169
- * [Subscription Status](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/subscription-status.md)
170
- * [Coupons](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/coupons.md)
171
- * [Components](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/components.md)
172
- * [Customers](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/customers.md)
173
- * [Events](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/events.md)
174
- * [Insights](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/insights.md)
175
- * [Invoices](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/invoices.md)
176
- * [Offers](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/offers.md)
177
- * [Products](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/products.md)
178
- * [Sites](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/sites.md)
179
- * [Subscriptions](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/subscriptions.md)
180
- * [Webhooks](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/controllers/webhooks.md)
149
+ * [API Exports](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/api-exports.md)
150
+ * [Advance Invoice](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/advance-invoice.md)
151
+ * [Billing Portal](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/billing-portal.md)
152
+ * [Component Price Points](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/component-price-points.md)
153
+ * [Custom Fields](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/custom-fields.md)
154
+ * [Events-Based Billing Segments](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/events-based-billing-segments.md)
155
+ * [Payment Profiles](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/payment-profiles.md)
156
+ * [Product Families](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/product-families.md)
157
+ * [Product Price Points](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/product-price-points.md)
158
+ * [Proforma Invoices](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/proforma-invoices.md)
159
+ * [Reason Codes](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/reason-codes.md)
160
+ * [Referral Codes](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/referral-codes.md)
161
+ * [Sales Commissions](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/sales-commissions.md)
162
+ * [Subscription Components](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/subscription-components.md)
163
+ * [Subscription Groups](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/subscription-groups.md)
164
+ * [Subscription Group Invoice Account](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/subscription-group-invoice-account.md)
165
+ * [Subscription Group Status](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/subscription-group-status.md)
166
+ * [Subscription Invoice Account](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/subscription-invoice-account.md)
167
+ * [Subscription Notes](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/subscription-notes.md)
168
+ * [Subscription Products](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/subscription-products.md)
169
+ * [Subscription Renewals](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/subscription-renewals.md)
170
+ * [Subscription Status](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/subscription-status.md)
171
+ * [Coupons](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/coupons.md)
172
+ * [Components](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/components.md)
173
+ * [Customers](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/customers.md)
174
+ * [Events](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/events.md)
175
+ * [Insights](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/insights.md)
176
+ * [Invoices](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/invoices.md)
177
+ * [Offers](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/offers.md)
178
+ * [Products](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/products.md)
179
+ * [Sites](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/sites.md)
180
+ * [Subscriptions](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/subscriptions.md)
181
+ * [Webhooks](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/controllers/webhooks.md)
181
182
 
182
183
  ## SDK Infrastructure
183
184
 
184
185
  ### Configuration
185
186
 
186
- * [ProxySettings](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/proxy-settings.md)
187
- * [Environment-Based Client Initialization](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/environment-based-client-initialization.md)
187
+ * [ProxySettings](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/proxy-settings.md)
188
+ * [Environment-Based Client Initialization](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/environment-based-client-initialization.md)
188
189
 
189
190
  ### HTTP
190
191
 
191
- * [HttpResponse](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/http-response.md)
192
- * [HttpRequest](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/http-request.md)
192
+ * [HttpResponse](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/http-response.md)
193
+ * [HttpRequest](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/http-request.md)
193
194
 
194
195
  ### Utilities
195
196
 
196
- * [ApiHelper](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/api-helper.md)
197
- * [DateTimeHelper](https://www.github.com/maxio-com/ab-ruby-sdk/tree/8.0.0/doc/date-time-helper.md)
197
+ * [ApiHelper](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/api-helper.md)
198
+ * [DateTimeHelper](https://www.github.com/maxio-com/ab-ruby-sdk/tree/9.0.0/doc/date-time-helper.md)
198
199
 
@@ -193,6 +193,12 @@ module AdvancedBilling
193
193
  @subscription_products ||= SubscriptionProductsController.new @global_configuration
194
194
  end
195
195
 
196
+ # Access to subscription_renewals controller.
197
+ # @return [SubscriptionRenewalsController] Returns the controller instance.
198
+ def subscription_renewals
199
+ @subscription_renewals ||= SubscriptionRenewalsController.new @global_configuration
200
+ end
201
+
196
202
  # Access to subscription_status controller.
197
203
  # @return [SubscriptionStatusController] Returns the controller instance.
198
204
  def subscription_status
@@ -24,7 +24,7 @@ module AdvancedBilling
24
24
  # invoices to preview this advance invoice before using this endpoint to
25
25
  # generate it.
26
26
  # @param [Integer] subscription_id Required parameter: The Chargify id of
27
- # the subscription
27
+ # the subscription.
28
28
  # @param [IssueAdvanceInvoiceRequest] body Optional parameter: TODO: type
29
29
  # description here
30
30
  # @return [Invoice] Response from the API call.
@@ -59,7 +59,7 @@ module AdvancedBilling
59
59
  # renewal, it can be viewed through this endpoint. There can only be one
60
60
  # advance invoice per subscription per billing cycle.
61
61
  # @param [Integer] subscription_id Required parameter: The Chargify id of
62
- # the subscription
62
+ # the subscription.
63
63
  # @return [Invoice] Response from the API call.
64
64
  def read_advance_invoice(subscription_id)
65
65
  @api_call
@@ -87,7 +87,7 @@ module AdvancedBilling
87
87
  # to the invoice to be returned to the subscription. For a full overview of
88
88
  # the impact of voiding, [see our help docs]($m/Invoice).
89
89
  # @param [Integer] subscription_id Required parameter: The Chargify id of
90
- # the subscription
90
+ # the subscription.
91
91
  # @param [VoidInvoiceRequest] body Optional parameter: TODO: type
92
92
  # description here
93
93
  # @return [Invoice] Response from the API call.
@@ -10,7 +10,7 @@ module AdvancedBilling
10
10
  attr_accessor :config, :http_call_back
11
11
 
12
12
  def self.user_agent
13
- 'AB SDK Ruby:8.0.0 on OS {os-info}'
13
+ 'AB SDK Ruby:9.0.0 on OS {os-info}'
14
14
  end
15
15
 
16
16
  def self.user_agent_parameters
@@ -151,6 +151,66 @@ module AdvancedBilling
151
151
  .execute
152
152
  end
153
153
 
154
+ # Clones a component price point. Custom price points (tied to a specific
155
+ # subscription) cannot be cloned. The following attributes are copied from
156
+ # the source price point:
157
+ # - Pricing scheme
158
+ # - All price tiers (with starting/ending quantities and unit prices)
159
+ # - Tax included setting
160
+ # - Currency prices (if definitive pricing is set)
161
+ # - Overage pricing (for prepaid usage components)
162
+ # - Interval settings (if multi-frequency is enabled)
163
+ # - Event-based billing segments (if applicable)
164
+ # @param [Integer | String] component_id Required parameter: The id or
165
+ # handle of the component. When using the handle, it must be prefixed with
166
+ # `handle:`. Example: `123` for an integer ID, or
167
+ # `handle:example-product-handle` for a string handle.
168
+ # @param [Integer | String] price_point_id Required parameter: The id or
169
+ # handle of the price point. When using the handle, it must be prefixed with
170
+ # `handle:`. Example: `123` for an integer ID, or
171
+ # `handle:example-price_point-handle` for a string handle.
172
+ # @param [CloneComponentPricePointRequest] body Optional parameter: TODO:
173
+ # type description here
174
+ # @return [ComponentPricePointCurrencyOverageResponse] Response from the API call.
175
+ def clone_component_price_point(component_id,
176
+ price_point_id,
177
+ body: nil)
178
+ @api_call
179
+ .request(new_request_builder(HttpMethodEnum::POST,
180
+ '/components/{component_id}/price_points/{price_point_id}/clone.json',
181
+ Server::PRODUCTION)
182
+ .template_param(new_parameter(component_id, key: 'component_id')
183
+ .is_required(true)
184
+ .should_encode(true)
185
+ .validator(proc do |value|
186
+ UnionTypeLookUp.get(:CloneComponentPricePointComponentId)
187
+ .validate(value)
188
+ end))
189
+ .template_param(new_parameter(price_point_id, key: 'price_point_id')
190
+ .is_required(true)
191
+ .should_encode(true)
192
+ .validator(proc do |value|
193
+ UnionTypeLookUp.get(:CloneComponentPricePointPricePointId)
194
+ .validate(value)
195
+ end))
196
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
197
+ .body_param(new_parameter(body))
198
+ .header_param(new_parameter('application/json', key: 'accept'))
199
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
200
+ .auth(Single.new('BasicAuth')))
201
+ .response(new_response_handler
202
+ .deserializer(APIHelper.method(:custom_type_deserializer))
203
+ .deserialize_into(ComponentPricePointCurrencyOverageResponse.method(:from_hash))
204
+ .local_error_template('404',
205
+ 'Not Found:\'{$response.body}\'',
206
+ APIException)
207
+ .local_error_template('422',
208
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
209
+ ' Response: \'{$response.body}\'.',
210
+ ErrorListResponseException))
211
+ .execute
212
+ end
213
+
154
214
  # When updating a price point, prices can be updated as well by creating new
155
215
  # prices or editing / removing existing ones.
156
216
  # Passing in a price bracket without an `id` will attempt to create a new
@@ -219,7 +279,7 @@ module AdvancedBilling
219
279
  # `handle:example-price_point-handle` for a string handle.
220
280
  # @param [TrueClass | FalseClass] currency_prices Optional parameter:
221
281
  # Include an array of currency price data
222
- # @return [ComponentPricePointResponse] Response from the API call.
282
+ # @return [ComponentPricePointCurrencyOverageResponse] Response from the API call.
223
283
  def read_component_price_point(component_id,
224
284
  price_point_id,
225
285
  currency_prices: nil)
@@ -246,7 +306,7 @@ module AdvancedBilling
246
306
  .auth(Single.new('BasicAuth')))
247
307
  .response(new_response_handler
248
308
  .deserializer(APIHelper.method(:custom_type_deserializer))
249
- .deserialize_into(ComponentPricePointResponse.method(:from_hash)))
309
+ .deserialize_into(ComponentPricePointCurrencyOverageResponse.method(:from_hash)))
250
310
  .execute
251
311
  end
252
312
 
@@ -153,7 +153,7 @@ module AdvancedBilling
153
153
  # For precise mappings from key to event_specific_data, refer to
154
154
  # [Event]($m/Event).
155
155
  # @param [Integer] subscription_id Required parameter: The Chargify id of
156
- # the subscription
156
+ # the subscription.
157
157
  # @param [Integer] page Optional parameter: Result records are organized in
158
158
  # pages. By default, the first page of results is displayed. The page
159
159
  # parameter specifies a page number of results to fetch. You can start
@@ -424,7 +424,7 @@ module AdvancedBilling
424
424
  # Only ungrouped or primary subscriptions may be paid using the "bulk"
425
425
  # payment request.
426
426
  # @param [Integer] subscription_id Required parameter: The Chargify id of
427
- # the subscription
427
+ # the subscription.
428
428
  # @param [RecordPaymentRequest] body Optional parameter: TODO: type
429
429
  # description here
430
430
  # @return [RecordPaymentResponse] Response from the API call.
@@ -771,7 +771,7 @@ module AdvancedBilling
771
771
  # By default, invoices will be created with open status. Possible
772
772
  # alternative is `draft`.
773
773
  # @param [Integer] subscription_id Required parameter: The Chargify id of
774
- # the subscription
774
+ # the subscription.
775
775
  # @param [CreateInvoiceRequest] body Optional parameter: TODO: type
776
776
  # description here
777
777
  # @return [InvoiceResponse] Response from the API call.
@@ -804,6 +804,10 @@ module AdvancedBilling
804
804
  # automatically generated invoices. Additionally, this endpoint supports
805
805
  # email delivery to direct recipients, carbon-copy (cc) recipients, and
806
806
  # blind carbon-copy (bcc) recipients.
807
+ # **File Attachments**: You can attach files to invoice emails using
808
+ # `attachment_urls[]` parameter by providing URLs to the files you want to
809
+ # attach. When using attachments, the request must use `multipart/form-data`
810
+ # content type. Max 10 files, 10MB per file.
807
811
  # If no recipient email addresses are specified in the request, then the
808
812
  # subscription's default email configuration will be used. For example, if
809
813
  # `recipient_emails` is left blank, then the invoice will be delivered to
@@ -904,9 +908,10 @@ module AdvancedBilling
904
908
  .execute
905
909
  end
906
910
 
907
- # This endpoint allows you to issue an invoice that is in "pending" status.
908
- # For example, you can issue an invoice that was created when allocating new
909
- # quantity on a component and using "accrue charges" option.
911
+ # This endpoint allows you to issue an invoice that is in "pending" or
912
+ # "draft" status. For example, you can issue an invoice that was created
913
+ # when allocating new quantity on a component and using "accrue charges"
914
+ # option.
910
915
  # You cannot issue a pending child invoice that was created for a member
911
916
  # subscription in a group.
912
917
  # For Remittance subscriptions, the invoice will go into "open" status and
@@ -367,8 +367,7 @@ module AdvancedBilling
367
367
  .execute
368
368
  end
369
369
 
370
- # This will delete a payment profile belonging to the customer on the
371
- # subscription.
370
+ # Deletes a payment profile belonging to the customer on the subscription.
372
371
  # + If the customer has multiple subscriptions, the payment profile will be
373
372
  # removed from all of them.
374
373
  # + If you delete the default payment profile for a subscription, you will
@@ -378,7 +377,7 @@ module AdvancedBilling
378
377
  # the Admin UI and use the “Add New Credit Card” or “Make Active Payment
379
378
  # Method” link, (depending on whether there are other cards present).
380
379
  # @param [Integer] subscription_id Required parameter: The Chargify id of
381
- # the subscription
380
+ # the subscription.
382
381
  # @param [Integer] payment_profile_id Required parameter: The Chargify id of
383
382
  # the payment profile
384
383
  # @return [void] Response from the API call.
@@ -434,7 +433,7 @@ module AdvancedBilling
434
433
  .execute
435
434
  end
436
435
 
437
- # This will delete a Payment Profile belonging to a Subscription Group.
436
+ # Deletes a Payment Profile belonging to a Subscription Group.
438
437
  # **Note**: If the Payment Profile belongs to multiple Subscription Groups
439
438
  # and/or Subscriptions, it will be removed from all of them.
440
439
  # @param [String] uid Required parameter: The uid of the subscription
@@ -465,7 +464,7 @@ module AdvancedBilling
465
464
  # You must elect to change the existing payment profile to a new payment
466
465
  # profile ID in order to receive a satisfactory response from this endpoint.
467
466
  # @param [Integer] subscription_id Required parameter: The Chargify id of
468
- # the subscription
467
+ # the subscription.
469
468
  # @param [Integer] payment_profile_id Required parameter: The Chargify id of
470
469
  # the payment profile
471
470
  # @return [PaymentProfileResponse] Response from the API call.
@@ -577,7 +576,7 @@ module AdvancedBilling
577
576
  # requests, and to provide clear and helpful information to users who
578
577
  # encounter errors during the request process.
579
578
  # @param [Integer] subscription_id Required parameter: The Chargify id of
580
- # the subscription
579
+ # the subscription.
581
580
  # @return [void] Response from the API call.
582
581
  def send_request_update_payment_email(subscription_id)
583
582
  @api_call
@@ -119,7 +119,7 @@ module AdvancedBilling
119
119
  # create a proforma invoice, the subscription must not be in a group, must
120
120
  # not be prepaid, and must be in a live state.
121
121
  # @param [Integer] subscription_id Required parameter: The Chargify id of
122
- # the subscription
122
+ # the subscription.
123
123
  # @return [ProformaInvoice] Response from the API call.
124
124
  def create_proforma_invoice(subscription_id)
125
125
  @api_call
@@ -146,7 +146,7 @@ module AdvancedBilling
146
146
  # `credits`, `payments`, or `custom_fields`. To include breakdowns, pass the
147
147
  # specific field as a key in the query with a value set to `true`.
148
148
  # @param [Integer] subscription_id Required parameter: The Chargify id of
149
- # the subscription
149
+ # the subscription.
150
150
  # @param [String] start_date Optional parameter: The beginning date range
151
151
  # for the invoice's Due Date, in the YYYY-MM-DD format.
152
152
  # @param [String] end_date Optional parameter: The ending date range for the
@@ -208,6 +208,47 @@ module AdvancedBilling
208
208
  .execute
209
209
  end
210
210
 
211
+ # Allows for proforma invoices to be programmatically delivered via email.
212
+ # Supports email
213
+ # delivery to direct recipients, carbon-copy (cc) recipients, and blind
214
+ # carbon-copy (bcc) recipients.
215
+ # If `recipient_emails` is omitted, the system will fall back to the primary
216
+ # recipient derived from the invoice or
217
+ # subscription. At least one recipient must be present, either via the
218
+ # request body or via this default behavior, so an
219
+ # empty body may still succeed when defaults are available.
220
+ # @param [String] proforma_invoice_uid Required parameter: The uid of the
221
+ # proforma invoice
222
+ # @param [DeliverProformaInvoiceRequest] body Optional parameter: TODO: type
223
+ # description here
224
+ # @return [ProformaInvoice] Response from the API call.
225
+ def deliver_proforma_invoice(proforma_invoice_uid,
226
+ body: nil)
227
+ @api_call
228
+ .request(new_request_builder(HttpMethodEnum::POST,
229
+ '/proforma_invoices/{proforma_invoice_uid}/deliveries.json',
230
+ Server::PRODUCTION)
231
+ .template_param(new_parameter(proforma_invoice_uid, key: 'proforma_invoice_uid')
232
+ .is_required(true)
233
+ .should_encode(true))
234
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
235
+ .body_param(new_parameter(body))
236
+ .header_param(new_parameter('application/json', key: 'accept'))
237
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
238
+ .auth(Single.new('BasicAuth')))
239
+ .response(new_response_handler
240
+ .deserializer(APIHelper.method(:custom_type_deserializer))
241
+ .deserialize_into(ProformaInvoice.method(:from_hash))
242
+ .local_error_template('404',
243
+ 'Not Found:\'{$response.body}\'',
244
+ APIException)
245
+ .local_error_template('422',
246
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
247
+ ' Response: \'{$response.body}\'.',
248
+ ErrorListResponseException))
249
+ .execute
250
+ end
251
+
211
252
  # This endpoint will void a proforma invoice that has the status "draft".
212
253
  # ## Restrictions
213
254
  # Proforma invoices are only available on Relationship Invoicing sites.
@@ -267,7 +308,7 @@ module AdvancedBilling
267
308
  # preview call to determine whether any billing information for the
268
309
  # subscription's upcoming renewal has changed.
269
310
  # @param [Integer] subscription_id Required parameter: The Chargify id of
270
- # the subscription
311
+ # the subscription.
271
312
  # @return [ProformaInvoice] Response from the API call.
272
313
  def preview_proforma_invoice(subscription_id)
273
314
  @api_call