recurly 3.18.1 → 4.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -1
  3. data/.changelog_config.yaml +11 -0
  4. data/.github/workflows/docs.yml +1 -1
  5. data/CHANGELOG.md +90 -348
  6. data/GETTING_STARTED.md +20 -17
  7. data/lib/recurly/client.rb +48 -21
  8. data/lib/recurly/client/operations.rb +691 -573
  9. data/lib/recurly/errors.rb +5 -22
  10. data/lib/recurly/errors/api_errors.rb +3 -0
  11. data/lib/recurly/errors/network_errors.rb +1 -4
  12. data/lib/recurly/pager.rb +4 -14
  13. data/lib/recurly/requests/{account_acquisition_updatable.rb → account_acquisition_update.rb} +1 -1
  14. data/lib/recurly/requests/account_create.rb +2 -2
  15. data/lib/recurly/requests/account_purchase.rb +2 -2
  16. data/lib/recurly/requests/add_on_create.rb +4 -4
  17. data/lib/recurly/requests/add_on_pricing.rb +5 -1
  18. data/lib/recurly/requests/add_on_update.rb +4 -4
  19. data/lib/recurly/requests/address.rb +0 -8
  20. data/lib/recurly/requests/billing_info_create.rb +6 -26
  21. data/lib/recurly/requests/billing_info_verify.rb +14 -0
  22. data/lib/recurly/requests/coupon_create.rb +1 -1
  23. data/lib/recurly/requests/external_transaction.rb +1 -1
  24. data/lib/recurly/requests/{invoice_updatable.rb → invoice_update.rb} +1 -1
  25. data/lib/recurly/requests/line_item_create.rb +1 -1
  26. data/lib/recurly/requests/subscription_add_on_create.rb +6 -2
  27. data/lib/recurly/requests/subscription_add_on_tier.rb +9 -1
  28. data/lib/recurly/requests/subscription_add_on_update.rb +6 -2
  29. data/lib/recurly/requests/subscription_change_create.rb +1 -1
  30. data/lib/recurly/requests/subscription_create.rb +3 -3
  31. data/lib/recurly/requests/subscription_purchase.rb +1 -1
  32. data/lib/recurly/requests/tier.rb +7 -3
  33. data/lib/recurly/requests/tier_pricing.rb +22 -0
  34. data/lib/recurly/resources/add_on.rb +1 -1
  35. data/lib/recurly/resources/add_on_pricing.rb +5 -1
  36. data/lib/recurly/resources/address.rb +0 -8
  37. data/lib/recurly/resources/address_with_name.rb +46 -0
  38. data/lib/recurly/resources/billing_info.rb +5 -1
  39. data/lib/recurly/resources/coupon.rb +5 -17
  40. data/lib/recurly/resources/invoice.rb +6 -2
  41. data/lib/recurly/resources/line_item.rb +4 -0
  42. data/lib/recurly/resources/plan.rb +1 -1
  43. data/lib/recurly/resources/subscription_add_on.rb +6 -2
  44. data/lib/recurly/resources/subscription_add_on_tier.rb +9 -1
  45. data/lib/recurly/resources/subscription_change.rb +0 -4
  46. data/lib/recurly/resources/tax_detail.rb +26 -0
  47. data/lib/recurly/resources/tax_info.rb +4 -0
  48. data/lib/recurly/resources/tier.rb +7 -3
  49. data/lib/recurly/resources/tier_pricing.rb +22 -0
  50. data/lib/recurly/resources/transaction.rb +6 -2
  51. data/lib/recurly/resources/unique_coupon_code_params.rb +26 -0
  52. data/lib/recurly/resources/usage.rb +5 -1
  53. data/lib/recurly/version.rb +1 -1
  54. data/openapi/api.yaml +2114 -2012
  55. data/scripts/build +2 -2
  56. data/scripts/format +2 -2
  57. data/scripts/prepare-release +43 -29
  58. data/scripts/release +5 -20
  59. metadata +15 -13
  60. data/.github_changelog_generator +0 -8
  61. data/lib/recurly/resources/line_item_list.rb +0 -26
  62. data/lib/recurly/resources/subscription_change_preview.rb +0 -78
  63. data/scripts/bump +0 -11
  64. data/scripts/changelog +0 -14
data/GETTING_STARTED.md CHANGED
@@ -5,7 +5,7 @@ This repository houses the official ruby client for Recurly's V3 API.
5
5
  In your Gemfile, add `recurly` as a dependency.
6
6
 
7
7
  ```ruby
8
- gem 'recurly', '~> 3.18'
8
+ gem 'recurly', '~> 4.3'
9
9
  ```
10
10
 
11
11
  > *Note*: We try to follow [semantic versioning](https://semver.org/) and will only apply breaking changes to major versions.
@@ -106,17 +106,19 @@ plans.each_page.each_with_index do |data, page_num|
106
106
  end
107
107
  ```
108
108
 
109
- Pagination endpoints take a number of options to sort and filter the results. They can be passed in as keyword arguments.
109
+ Pagination endpoints take a number of options to sort and filter the results. They can be passed in as a hash provided by the `:params` keyword argument.
110
110
  The names, types, and descriptions of these arguments are listed in the rubydocs for each method:
111
111
 
112
112
  ```ruby
113
113
  options = {
114
- limit: 200, # number of items per page
115
- state: :active, # only active plans
116
- sort: :updated_at,
117
- order: :asc,
118
- begin_time: DateTime.new(2017,1,1), # January 1st 2017,
119
- end_time: DateTime.now
114
+ params: {
115
+ limit: 200, # number of items per page
116
+ state: :active, # only active plans
117
+ sort: :updated_at,
118
+ order: :asc,
119
+ begin_time: DateTime.new(2017,1,1), # January 1st 2017,
120
+ end_time: DateTime.now
121
+ }
120
122
  }
121
123
 
122
124
  plans = client.list_plans(**options)
@@ -200,12 +202,11 @@ plan = client.create_plan(body: plan_data)
200
202
 
201
203
  # Error Handling
202
204
 
203
- This library currently throws 2 types of exceptions. {Recurly::Errors::APIError} and {Recurly::Errors::NetworkError}. See these 2 files for the types of exceptions you can catch:
205
+ All errors thrown by this library are based off of the `Recurly::Errors::APIError`. There
204
206
 
205
- 1. [API Errors](./lib/recurly/errors/api_errors.rb)
206
- 2. [Network Errors](./lib/recurly/errors/network_errors.rb)
207
+ This library throws one main type of exception, `Recurly::Errors::APIError`. There exists an additional hierarchy of errors to facilitate the process of rescuing various classes of errors. More detail can be found in the [Api Errors Module](./lib/recurly/errors/api_errors.rb).
207
208
 
208
- You will normally be working with {Recurly::Errors::APIError}. You can catch specific or generic versions of these exceptions. Example:
209
+ You can catch specific or generic versions of these exceptions. Example:
209
210
 
210
211
  ```ruby
211
212
  begin
@@ -233,15 +234,17 @@ rescue Recurly::Errors::ValidationError => ex
233
234
  #=> #<Recurly::Error:0x007fbbdf8a32c8 @attributes={:type=>"validation", :message=>"Code 'iexistalready' already exists", :params=>[{"param"=>"code", "message"=>"'iexistalready' already exists"}]}>
234
235
  puts ex.status_code
235
236
  #=> 422
237
+ rescue Recurly::Errors::TimeoutError => ex
238
+ # catch a specific server error
239
+ rescue Recurly::Errors::ServerError => ex
240
+ # catch a generic server error
236
241
  rescue Recurly::Errors::APIError => ex
237
242
  # catch a generic api error
238
- rescue Recurly::Errors::TimeoutError => ex
239
- # catch a specific network error
240
- rescue Recurly::Errors::NetworkError => ex
241
- # catch a generic network error
242
243
  end
243
244
  ```
244
245
 
246
+ `Recurly::Errors::APIError` instances provide access to the response via the `#get_response` method.
247
+
245
248
  # HTTP Metadata
246
249
 
247
250
  Sometimes you might want to get some additional information about the underlying HTTP request and response. Instead of
@@ -266,7 +269,7 @@ response = @client.remove_line_item(
266
269
  line_item_id: "a959576b2b10b012"
267
270
  ).get_response
268
271
  ```
269
- And it can be captured on exceptions through the {Recurly::ApiError} object:
272
+ And it can be captured on exceptions through the {Recurly::APIError} object:
270
273
 
271
274
  ```ruby
272
275
  begin
@@ -20,7 +20,14 @@ module Recurly
20
20
  MAX_RETRIES = 3
21
21
  LOG_LEVELS = %i(debug info warn error fatal).freeze
22
22
  BASE36_ALPHABET = (("0".."9").to_a + ("a".."z").to_a).freeze
23
- REQUEST_OPTIONS = [:headers].freeze
23
+ ALLOWED_OPTIONS = [
24
+ :site_id,
25
+ :open_timeout,
26
+ :read_timeout,
27
+ :body,
28
+ :params,
29
+ :headers,
30
+ ].freeze
24
31
 
25
32
  # Initialize a client. It requires an API key.
26
33
  #
@@ -47,8 +54,9 @@ module Recurly
47
54
  #
48
55
  # @param api_key [String] The private API key
49
56
  # @param logger [Logger] A logger to use. Defaults to creating a new STDOUT logger with level WARN.
50
- def initialize(api_key:, site_id: nil, subdomain: nil, logger: nil)
51
- set_site_id(site_id, subdomain)
57
+ def initialize(api_key:, logger: nil)
58
+ raise ArgumentError, "'api_key' must be set to a non-nil value" if api_key.nil?
59
+
52
60
  set_api_key(api_key)
53
61
 
54
62
  if logger.nil?
@@ -90,6 +98,7 @@ module Recurly
90
98
  end
91
99
 
92
100
  def head(path, **options)
101
+ validate_options!(**options)
93
102
  request = Net::HTTP::Head.new build_url(path, options)
94
103
  set_headers(request, options[:headers])
95
104
  http_response = run_request(request, options)
@@ -97,23 +106,28 @@ module Recurly
97
106
  end
98
107
 
99
108
  def get(path, **options)
109
+ validate_options!(**options)
100
110
  request = Net::HTTP::Get.new build_url(path, options)
101
111
  set_headers(request, options[:headers])
102
112
  http_response = run_request(request, options)
103
113
  handle_response! request, http_response
104
114
  end
105
115
 
106
- def post(path, request_data, request_class, **options)
107
- request_class.new(request_data).validate!
116
+ def post(path, request_data = nil, request_class = nil, **options)
117
+ validate_options!(**options)
108
118
  request = Net::HTTP::Post.new build_url(path, options)
109
119
  request.set_content_type(JSON_CONTENT_TYPE)
110
120
  set_headers(request, options[:headers])
111
- request.body = JSON.dump(request_data)
121
+ if request_data
122
+ request_class.new(request_data).validate!
123
+ request.body = JSON.dump(request_data)
124
+ end
112
125
  http_response = run_request(request, options)
113
126
  handle_response! request, http_response
114
127
  end
115
128
 
116
129
  def put(path, request_data = nil, request_class = nil, **options)
130
+ validate_options!(**options)
117
131
  request = Net::HTTP::Put.new build_url(path, options)
118
132
  request.set_content_type(JSON_CONTENT_TYPE)
119
133
  set_headers(request, options[:headers])
@@ -127,6 +141,7 @@ module Recurly
127
141
  end
128
142
 
129
143
  def delete(path, **options)
144
+ validate_options!(**options)
130
145
  request = Net::HTTP::Delete.new build_url(path, options)
131
146
  set_headers(request, options[:headers])
132
147
  http_response = run_request(request, options)
@@ -194,7 +209,7 @@ module Recurly
194
209
  end
195
210
 
196
211
  raise Recurly::Errors::ConnectionFailedError, "Failed to connect to Recurly: #{ex.message}"
197
- rescue Net::ReadTimeout, Timeout::Error
212
+ rescue Timeout::Error
198
213
  raise Recurly::Errors::TimeoutError, "Request timed out"
199
214
  rescue OpenSSL::SSL::SSLError => ex
200
215
  raise Recurly::Errors::SSLError, ex.message
@@ -240,7 +255,7 @@ module Recurly
240
255
  elsif BINARY_TYPES.include?(http_response.content_type)
241
256
  FileParser.parse(response.body)
242
257
  else
243
- raise Recurly::Errors::InvalidResponseError, "Unexpected content type: #{http_response.content_type}"
258
+ raise Recurly::Errors::InvalidContentTypeError, "Unexpected content type: #{http_response.content_type}"
244
259
  end
245
260
  else
246
261
  Resources::Empty.new
@@ -255,10 +270,10 @@ module Recurly
255
270
  error = JSONParser.parse(self, response.body)
256
271
  begin
257
272
  error_class = Errors::APIError.error_class(error.type)
258
- raise error_class.new(response, error)
273
+ raise error_class.new(error.message, response, error)
259
274
  rescue NameError
260
275
  error_class = Errors::APIError.from_response(http_response)
261
- raise error_class.new(response, error)
276
+ raise error_class.new("Unknown Error", response, error)
262
277
  end
263
278
  end
264
279
 
@@ -266,7 +281,7 @@ module Recurly
266
281
 
267
282
  if error_class <= Recurly::Errors::APIError
268
283
  error = Recurly::Resources::Error.new(message: "#{http_response.code}: #{http_response.message}")
269
- raise error_class.new(response, error)
284
+ raise error_class.new(error.message, response, error)
270
285
  else
271
286
  raise error_class, "#{http_response.code}: #{http_response.message}"
272
287
  end
@@ -279,6 +294,17 @@ module Recurly
279
294
  response
280
295
  end
281
296
 
297
+ def validate_options!(**options)
298
+ invalid_options = options.keys.reject do |k|
299
+ ALLOWED_OPTIONS.include?(k)
300
+ end
301
+ if invalid_options.any?
302
+ joinedKeys = invalid_options.join(", ")
303
+ joinedOptions = ALLOWED_OPTIONS.join(", ")
304
+ raise ArgumentError, "Invalid options: '#{joinedKeys}'. Allowed options: '#{joinedOptions}'"
305
+ end
306
+ end
307
+
282
308
  def validate_path_parameters!(**options)
283
309
  # Check to see that we are passing the correct data types
284
310
  # This prevents a confusing error if the user passes in a non-primitive by mistake
@@ -308,21 +334,13 @@ module Recurly
308
334
  path % options
309
335
  end
310
336
 
311
- def set_site_id(site_id, subdomain)
312
- if site_id
313
- @site_id = site_id
314
- elsif subdomain
315
- @site_id = "subdomain-#{subdomain}"
316
- end
317
- end
318
-
319
337
  def set_api_key(api_key)
320
- @api_key = api_key
338
+ @api_key = api_key.to_s
321
339
  end
322
340
 
323
341
  def build_url(path, options)
324
342
  path = scope_by_site(path, options)
325
- query_params = options.reject { |k, _| REQUEST_OPTIONS.include?(k.to_sym) }
343
+ query_params = map_array_params(options.fetch(:params, {}))
326
344
  if query_params.any?
327
345
  "#{path}?#{URI.encode_www_form(query_params)}"
328
346
  else
@@ -330,6 +348,15 @@ module Recurly
330
348
  end
331
349
  end
332
350
 
351
+ # Converts array parameters to CSV strings to maintain consistency with
352
+ # how the server expects the request to be formatted while providing the
353
+ # developer with an array type to maintain developer happiness!
354
+ def map_array_params(params)
355
+ params.map do |key, param|
356
+ [key, param.is_a?(Array) ? param.join(",") : param]
357
+ end.to_h
358
+ end
359
+
333
360
  def scope_by_site(path, options)
334
361
  if site = site_id || options[:site_id]
335
362
  # Ensure that we are only including the site_id once because the Pager operations
@@ -5,14 +5,15 @@
5
5
  module Recurly
6
6
  class Client
7
7
  def api_version
8
- "v2019-10-10"
8
+ "v2021-02-25"
9
9
  end
10
10
 
11
11
  # List sites
12
12
  #
13
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_sites list_sites api documenation}
13
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_sites list_sites api documenation}
14
14
  #
15
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
15
+ # @param params [Hash] Optional query string parameters:
16
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
16
17
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
17
18
  #
18
19
  # *Important notes:*
@@ -24,17 +25,20 @@ module Recurly
24
25
  # * Records are returned in an arbitrary order. Since results are all
25
26
  # returned at once you can sort the records yourself.
26
27
  #
27
- # @param limit [Integer] Limit number of records 1-200.
28
- # @param order [String] Sort order.
29
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
28
+ # :limit [Integer] Limit number of records 1-200.
29
+ # :order [String] Sort order.
30
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
30
31
  # order. In descending order updated records will move behind the cursor and could
31
32
  # prevent some records from being returned.
32
33
  #
33
- # @param state [String] Filter by state.
34
+ # :state [String] Filter by state.
34
35
  #
35
36
  # @return [Pager<Resources::Site>] A list of sites.
36
37
  # @example
37
- # sites = @client.list_sites(limit: 200)
38
+ # params = {
39
+ # limit: 200
40
+ # }
41
+ # sites = @client.list_sites(params: params)
38
42
  # sites.each do |site|
39
43
  # puts "Site: #{site.subdomain}"
40
44
  # end
@@ -46,9 +50,10 @@ module Recurly
46
50
 
47
51
  # Fetch a site
48
52
  #
49
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_site get_site api documenation}
53
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_site get_site api documenation}
50
54
  #
51
55
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
56
+ # @param params [Hash] Optional query string parameters:
52
57
  #
53
58
  # @return [Resources::Site] A site.
54
59
  # @example
@@ -61,16 +66,17 @@ module Recurly
61
66
  # puts "Resource Not Found"
62
67
  # end
63
68
  #
64
- def get_site(site_id:)
69
+ def get_site(site_id:, **options)
65
70
  path = interpolate_path("/sites/{site_id}", site_id: site_id)
66
- get(path)
71
+ get(path, **options)
67
72
  end
68
73
 
69
74
  # List a site's accounts
70
75
  #
71
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_accounts list_accounts api documenation}
76
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_accounts list_accounts api documenation}
72
77
  #
73
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
78
+ # @param params [Hash] Optional query string parameters:
79
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
74
80
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
75
81
  #
76
82
  # *Important notes:*
@@ -82,43 +88,45 @@ module Recurly
82
88
  # * Records are returned in an arbitrary order. Since results are all
83
89
  # returned at once you can sort the records yourself.
84
90
  #
85
- # @param limit [Integer] Limit number of records 1-200.
86
- # @param order [String] Sort order.
87
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
91
+ # :limit [Integer] Limit number of records 1-200.
92
+ # :order [String] Sort order.
93
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
88
94
  # order. In descending order updated records will move behind the cursor and could
89
95
  # prevent some records from being returned.
90
96
  #
91
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
97
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
92
98
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
93
99
  #
94
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
100
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
95
101
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
96
102
  #
97
- # @param email [String] Filter for accounts with this exact email address. A blank value will return accounts with both +null+ and +""+ email addresses. Note that multiple accounts can share one email address.
98
- # @param subscriber [Boolean] Filter for accounts with or without a subscription in the +active+,
103
+ # :email [String] Filter for accounts with this exact email address. A blank value will return accounts with both +null+ and +""+ email addresses. Note that multiple accounts can share one email address.
104
+ # :subscriber [Boolean] Filter for accounts with or without a subscription in the +active+,
99
105
  # +canceled+, or +future+ state.
100
106
  #
101
- # @param past_due [String] Filter for accounts with an invoice in the +past_due+ state.
102
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
107
+ # :past_due [String] Filter for accounts with an invoice in the +past_due+ state.
103
108
  #
104
109
  # @return [Pager<Resources::Account>] A list of the site's accounts.
105
110
  # @example
106
- # accounts = @client.list_accounts(limit: 200)
111
+ # params = {
112
+ # limit: 200
113
+ # }
114
+ # accounts = @client.list_accounts(params: params)
107
115
  # accounts.each do |account|
108
116
  # puts "Account: #{account.code}"
109
117
  # end
110
118
  #
111
119
  def list_accounts(**options)
112
- path = interpolate_path("/accounts")
120
+ path = "/accounts"
113
121
  pager(path, **options)
114
122
  end
115
123
 
116
124
  # Create an account
117
125
  #
118
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_account create_account api documenation}
126
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_account create_account api documenation}
119
127
  #
120
128
  # @param body [Requests::AccountCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AccountCreate}
121
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
129
+ # @param params [Hash] Optional query string parameters:
122
130
  #
123
131
  # @return [Resources::Account] An account.
124
132
  # @example
@@ -158,16 +166,16 @@ module Recurly
158
166
  # end
159
167
  #
160
168
  def create_account(body:, **options)
161
- path = interpolate_path("/accounts")
169
+ path = "/accounts"
162
170
  post(path, body, Requests::AccountCreate, **options)
163
171
  end
164
172
 
165
173
  # Fetch an account
166
174
  #
167
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_account get_account api documenation}
175
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_account get_account api documenation}
168
176
  #
169
177
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
170
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
178
+ # @param params [Hash] Optional query string parameters:
171
179
  #
172
180
  # @return [Resources::Account] An account.
173
181
  # @example
@@ -185,13 +193,13 @@ module Recurly
185
193
  get(path, **options)
186
194
  end
187
195
 
188
- # Modify an account
196
+ # Update an account
189
197
  #
190
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_account update_account api documenation}
198
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_account update_account api documenation}
191
199
  #
192
200
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
193
201
  # @param body [Requests::AccountUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AccountUpdate}
194
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
202
+ # @param params [Hash] Optional query string parameters:
195
203
  #
196
204
  # @return [Resources::Account] An account.
197
205
  # @example
@@ -218,10 +226,10 @@ module Recurly
218
226
 
219
227
  # Deactivate an account
220
228
  #
221
- # {https://developers.recurly.com/api/v2019-10-10#operation/deactivate_account deactivate_account api documenation}
229
+ # {https://developers.recurly.com/api/v2021-02-25#operation/deactivate_account deactivate_account api documenation}
222
230
  #
223
231
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
224
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
232
+ # @param params [Hash] Optional query string parameters:
225
233
  #
226
234
  # @return [Resources::Account] An account.
227
235
  # @example
@@ -241,10 +249,10 @@ module Recurly
241
249
 
242
250
  # Fetch an account's acquisition data
243
251
  #
244
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_account_acquisition get_account_acquisition api documenation}
252
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_account_acquisition get_account_acquisition api documenation}
245
253
  #
246
254
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
247
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
255
+ # @param params [Hash] Optional query string parameters:
248
256
  #
249
257
  # @return [Resources::AccountAcquisition] An account's acquisition data.
250
258
  # @example
@@ -264,11 +272,11 @@ module Recurly
264
272
 
265
273
  # Update an account's acquisition data
266
274
  #
267
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_account_acquisition update_account_acquisition api documenation}
275
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_account_acquisition update_account_acquisition api documenation}
268
276
  #
269
277
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
270
- # @param body [Requests::AccountAcquisitionUpdatable] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AccountAcquisitionUpdatable}
271
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
278
+ # @param body [Requests::AccountAcquisitionUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AccountAcquisitionUpdate}
279
+ # @param params [Hash] Optional query string parameters:
272
280
  #
273
281
  # @return [Resources::AccountAcquisition] An account's updated acquisition data.
274
282
  # @example
@@ -295,15 +303,15 @@ module Recurly
295
303
  #
296
304
  def update_account_acquisition(account_id:, body:, **options)
297
305
  path = interpolate_path("/accounts/{account_id}/acquisition", account_id: account_id)
298
- put(path, body, Requests::AccountAcquisitionUpdatable, **options)
306
+ put(path, body, Requests::AccountAcquisitionUpdate, **options)
299
307
  end
300
308
 
301
309
  # Remove an account's acquisition data
302
310
  #
303
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_account_acquisition remove_account_acquisition api documenation}
311
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_account_acquisition remove_account_acquisition api documenation}
304
312
  #
305
313
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
306
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
314
+ # @param params [Hash] Optional query string parameters:
307
315
  #
308
316
  # @return [Resources::Empty] Acquisition data was succesfully deleted.
309
317
  # @example
@@ -323,10 +331,10 @@ module Recurly
323
331
 
324
332
  # Reactivate an inactive account
325
333
  #
326
- # {https://developers.recurly.com/api/v2019-10-10#operation/reactivate_account reactivate_account api documenation}
334
+ # {https://developers.recurly.com/api/v2021-02-25#operation/reactivate_account reactivate_account api documenation}
327
335
  #
328
336
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
329
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
337
+ # @param params [Hash] Optional query string parameters:
330
338
  #
331
339
  # @return [Resources::Account] An account.
332
340
  # @example
@@ -346,10 +354,10 @@ module Recurly
346
354
 
347
355
  # Fetch an account's balance and past due status
348
356
  #
349
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_account_balance get_account_balance api documenation}
357
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_account_balance get_account_balance api documenation}
350
358
  #
351
359
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
352
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
360
+ # @param params [Hash] Optional query string parameters:
353
361
  #
354
362
  # @return [Resources::AccountBalance] An account's balance.
355
363
  # @example
@@ -369,10 +377,10 @@ module Recurly
369
377
 
370
378
  # Fetch an account's billing information
371
379
  #
372
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_billing_info get_billing_info api documenation}
380
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_billing_info get_billing_info api documenation}
373
381
  #
374
382
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
375
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
383
+ # @param params [Hash] Optional query string parameters:
376
384
  #
377
385
  # @return [Resources::BillingInfo] An account's billing information.
378
386
  # @example
@@ -392,11 +400,11 @@ module Recurly
392
400
 
393
401
  # Set an account's billing information
394
402
  #
395
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_billing_info update_billing_info api documenation}
403
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_billing_info update_billing_info api documenation}
396
404
  #
397
405
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
398
406
  # @param body [Requests::BillingInfoCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoCreate}
399
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
407
+ # @param params [Hash] Optional query string parameters:
400
408
  #
401
409
  # @return [Resources::BillingInfo] Updated billing information.
402
410
  # @example
@@ -423,10 +431,10 @@ module Recurly
423
431
 
424
432
  # Remove an account's billing information
425
433
  #
426
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_billing_info remove_billing_info api documenation}
434
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_billing_info remove_billing_info api documenation}
427
435
  #
428
436
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
429
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
437
+ # @param params [Hash] Optional query string parameters:
430
438
  #
431
439
  # @return [Resources::Empty] Billing information deleted
432
440
  # @example
@@ -444,12 +452,37 @@ module Recurly
444
452
  delete(path, **options)
445
453
  end
446
454
 
455
+ # Verify an account's credit card billing information
456
+ #
457
+ # {https://developers.recurly.com/api/v2021-02-25#operation/verify_billing_info verify_billing_info api documenation}
458
+ #
459
+ # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
460
+ # @param params [Hash] Optional query string parameters:
461
+ # :body [Requests::BillingInfoVerify] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoVerify}
462
+ #
463
+ # @return [Resources::Transaction] Transaction information from verify.
464
+ # @example
465
+ # begin
466
+ # transaction = @client.verify_billing_info(account_id: account_id)
467
+ # puts "Got Transaction #{transaction}"
468
+ # rescue Recurly::Errors::NotFoundError
469
+ # # If the resource was not found, you may want to alert the user or
470
+ # # just return nil
471
+ # puts "Resource Not Found"
472
+ # end
473
+ #
474
+ def verify_billing_info(account_id:, **options)
475
+ path = interpolate_path("/accounts/{account_id}/billing_info/verify", account_id: account_id)
476
+ post(path, options[:body], Requests::BillingInfoVerify, **options)
477
+ end
478
+
447
479
  # Get the list of billing information associated with an account
448
480
  #
449
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_billing_infos list_billing_infos api documenation}
481
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_billing_infos list_billing_infos api documenation}
450
482
  #
451
483
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
452
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
484
+ # @param params [Hash] Optional query string parameters:
485
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
453
486
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
454
487
  #
455
488
  # *Important notes:*
@@ -461,17 +494,16 @@ module Recurly
461
494
  # * Records are returned in an arbitrary order. Since results are all
462
495
  # returned at once you can sort the records yourself.
463
496
  #
464
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
497
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
465
498
  # order. In descending order updated records will move behind the cursor and could
466
499
  # prevent some records from being returned.
467
500
  #
468
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
501
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
469
502
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
470
503
  #
471
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
504
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
472
505
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
473
506
  #
474
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
475
507
  #
476
508
  # @return [Pager<Resources::BillingInfo>] A list of the the billing information for an account's
477
509
  #
@@ -480,13 +512,13 @@ module Recurly
480
512
  pager(path, **options)
481
513
  end
482
514
 
483
- # Set an account's billing information when the wallet feature is enabled
515
+ # Add new billing information on an account
484
516
  #
485
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_billing_info create_billing_info api documenation}
517
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_billing_info create_billing_info api documenation}
486
518
  #
487
519
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
488
520
  # @param body [Requests::BillingInfoCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoCreate}
489
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
521
+ # @param params [Hash] Optional query string parameters:
490
522
  #
491
523
  # @return [Resources::BillingInfo] Updated billing information.
492
524
  #
@@ -497,11 +529,11 @@ module Recurly
497
529
 
498
530
  # Fetch a billing info
499
531
  #
500
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_a_billing_info get_a_billing_info api documenation}
532
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_a_billing_info get_a_billing_info api documenation}
501
533
  #
502
534
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
503
535
  # @param billing_info_id [String] Billing Info ID.
504
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
536
+ # @param params [Hash] Optional query string parameters:
505
537
  #
506
538
  # @return [Resources::BillingInfo] A billing info.
507
539
  #
@@ -512,12 +544,12 @@ module Recurly
512
544
 
513
545
  # Update an account's billing information
514
546
  #
515
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_a_billing_info update_a_billing_info api documenation}
547
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_a_billing_info update_a_billing_info api documenation}
516
548
  #
517
549
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
518
550
  # @param billing_info_id [String] Billing Info ID.
519
551
  # @param body [Requests::BillingInfoCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoCreate}
520
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
552
+ # @param params [Hash] Optional query string parameters:
521
553
  #
522
554
  # @return [Resources::BillingInfo] Updated billing information.
523
555
  #
@@ -528,11 +560,11 @@ module Recurly
528
560
 
529
561
  # Remove an account's billing information
530
562
  #
531
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_a_billing_info remove_a_billing_info api documenation}
563
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_a_billing_info remove_a_billing_info api documenation}
532
564
  #
533
565
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
534
566
  # @param billing_info_id [String] Billing Info ID.
535
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
567
+ # @param params [Hash] Optional query string parameters:
536
568
  #
537
569
  # @return [Resources::Empty] Billing information deleted
538
570
  #
@@ -543,10 +575,11 @@ module Recurly
543
575
 
544
576
  # Show the coupon redemptions for an account
545
577
  #
546
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_account_coupon_redemptions list_account_coupon_redemptions api documenation}
578
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_coupon_redemptions list_account_coupon_redemptions api documenation}
547
579
  #
548
580
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
549
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
581
+ # @param params [Hash] Optional query string parameters:
582
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
550
583
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
551
584
  #
552
585
  # *Important notes:*
@@ -558,24 +591,26 @@ module Recurly
558
591
  # * Records are returned in an arbitrary order. Since results are all
559
592
  # returned at once you can sort the records yourself.
560
593
  #
561
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
594
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
562
595
  # order. In descending order updated records will move behind the cursor and could
563
596
  # prevent some records from being returned.
564
597
  #
565
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
598
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
566
599
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
567
600
  #
568
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
601
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
569
602
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
570
603
  #
571
- # @param state [String] Filter by state.
572
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
604
+ # :state [String] Filter by state.
573
605
  #
574
606
  # @return [Pager<Resources::CouponRedemption>] A list of the the coupon redemptions on an account.
575
607
  # @example
608
+ # params = {
609
+ # limit: 200
610
+ # }
576
611
  # redemptions = @client.list_account_coupon_redemptions(
577
612
  # account_id: account_id,
578
- # limit: 200
613
+ # params: params
579
614
  # )
580
615
  # redemptions.each do |redemption|
581
616
  # puts "CouponRedemption: #{redemption.id}"
@@ -586,36 +621,35 @@ module Recurly
586
621
  pager(path, **options)
587
622
  end
588
623
 
589
- # Show the coupon redemption that is active on an account
624
+ # Show the coupon redemptions that are active on an account
590
625
  #
591
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_active_coupon_redemption get_active_coupon_redemption api documenation}
626
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_active_coupon_redemptions list_active_coupon_redemptions api documenation}
592
627
  #
593
628
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
594
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
629
+ # @param params [Hash] Optional query string parameters:
595
630
  #
596
- # @return [Resources::CouponRedemption] An active coupon redemption on an account.
631
+ # @return [Pager<Resources::CouponRedemption>] Active coupon redemptions on an account.
597
632
  # @example
598
- # begin
599
- # redemption = @client.get_active_coupon_redemption(account_id: account_id)
600
- # puts "Got CouponRedemption #{redemption}"
601
- # rescue Recurly::Errors::NotFoundError
602
- # # If the resource was not found, you may want to alert the user or
603
- # # just return nil
604
- # puts "Resource Not Found"
633
+ # params = {
634
+ # limit: 200
635
+ # }
636
+ # redemptions = @client.list_active_coupon_redemptions(account_id: account_id, params: params)
637
+ # redemptions.each do |redemption|
638
+ # puts "Redemption: #{redemption.id}"
605
639
  # end
606
640
  #
607
- def get_active_coupon_redemption(account_id:, **options)
641
+ def list_active_coupon_redemptions(account_id:, **options)
608
642
  path = interpolate_path("/accounts/{account_id}/coupon_redemptions/active", account_id: account_id)
609
- get(path, **options)
643
+ pager(path, **options)
610
644
  end
611
645
 
612
646
  # Generate an active coupon redemption on an account or subscription
613
647
  #
614
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_coupon_redemption create_coupon_redemption api documenation}
648
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_coupon_redemption create_coupon_redemption api documenation}
615
649
  #
616
650
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
617
651
  # @param body [Requests::CouponRedemptionCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponRedemptionCreate}
618
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
652
+ # @param params [Hash] Optional query string parameters:
619
653
  #
620
654
  # @return [Resources::CouponRedemption] Returns the new coupon redemption.
621
655
  # @example
@@ -642,10 +676,10 @@ module Recurly
642
676
 
643
677
  # Delete the active coupon redemption from an account
644
678
  #
645
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_coupon_redemption remove_coupon_redemption api documenation}
679
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_coupon_redemption remove_coupon_redemption api documenation}
646
680
  #
647
681
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
648
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
682
+ # @param params [Hash] Optional query string parameters:
649
683
  #
650
684
  # @return [Resources::CouponRedemption] Coupon redemption deleted.
651
685
  # @example
@@ -665,28 +699,31 @@ module Recurly
665
699
 
666
700
  # List an account's credit payments
667
701
  #
668
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_account_credit_payments list_account_credit_payments api documenation}
702
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_credit_payments list_account_credit_payments api documenation}
669
703
  #
670
704
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
671
- # @param limit [Integer] Limit number of records 1-200.
672
- # @param order [String] Sort order.
673
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
705
+ # @param params [Hash] Optional query string parameters:
706
+ # :limit [Integer] Limit number of records 1-200.
707
+ # :order [String] Sort order.
708
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
674
709
  # order. In descending order updated records will move behind the cursor and could
675
710
  # prevent some records from being returned.
676
711
  #
677
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
712
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
678
713
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
679
714
  #
680
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
715
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
681
716
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
682
717
  #
683
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
684
718
  #
685
719
  # @return [Pager<Resources::CreditPayment>] A list of the account's credit payments.
686
720
  # @example
721
+ # params = {
722
+ # limit: 200
723
+ # }
687
724
  # payments = @client.list_account_credit_payments(
688
725
  # account_id: account_id,
689
- # limit: 200
726
+ # params: params
690
727
  # )
691
728
  # payments.each do |payment|
692
729
  # puts "CreditPayment: #{payment.id}"
@@ -699,10 +736,11 @@ module Recurly
699
736
 
700
737
  # List an account's invoices
701
738
  #
702
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_account_invoices list_account_invoices api documenation}
739
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_invoices list_account_invoices api documenation}
703
740
  #
704
741
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
705
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
742
+ # @param params [Hash] Optional query string parameters:
743
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
706
744
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
707
745
  #
708
746
  # *Important notes:*
@@ -714,31 +752,33 @@ module Recurly
714
752
  # * Records are returned in an arbitrary order. Since results are all
715
753
  # returned at once you can sort the records yourself.
716
754
  #
717
- # @param limit [Integer] Limit number of records 1-200.
718
- # @param order [String] Sort order.
719
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
755
+ # :limit [Integer] Limit number of records 1-200.
756
+ # :order [String] Sort order.
757
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
720
758
  # order. In descending order updated records will move behind the cursor and could
721
759
  # prevent some records from being returned.
722
760
  #
723
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
761
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
724
762
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
725
763
  #
726
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
764
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
727
765
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
728
766
  #
729
- # @param type [String] Filter by type when:
767
+ # :type [String] Filter by type when:
730
768
  # - +type=charge+, only charge invoices will be returned.
731
769
  # - +type=credit+, only credit invoices will be returned.
732
770
  # - +type=non-legacy+, only charge and credit invoices will be returned.
733
771
  # - +type=legacy+, only legacy invoices will be returned.
734
772
  #
735
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
736
773
  #
737
774
  # @return [Pager<Resources::Invoice>] A list of the account's invoices.
738
775
  # @example
776
+ # params = {
777
+ # limit: 200
778
+ # }
739
779
  # invoices = @client.list_account_invoices(
740
780
  # account_id: account_id,
741
- # limit: 200
781
+ # params: params
742
782
  # )
743
783
  # invoices.each do |invoice|
744
784
  # puts "Invoice: #{invoice.number}"
@@ -751,11 +791,11 @@ module Recurly
751
791
 
752
792
  # Create an invoice for pending line items
753
793
  #
754
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_invoice create_invoice api documenation}
794
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_invoice create_invoice api documenation}
755
795
  #
756
796
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
757
797
  # @param body [Requests::InvoiceCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceCreate}
758
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
798
+ # @param params [Hash] Optional query string parameters:
759
799
  #
760
800
  # @return [Resources::InvoiceCollection] Returns the new invoices.
761
801
  # @example
@@ -782,11 +822,11 @@ module Recurly
782
822
 
783
823
  # Preview new invoice for pending line items
784
824
  #
785
- # {https://developers.recurly.com/api/v2019-10-10#operation/preview_invoice preview_invoice api documenation}
825
+ # {https://developers.recurly.com/api/v2021-02-25#operation/preview_invoice preview_invoice api documenation}
786
826
  #
787
827
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
788
828
  # @param body [Requests::InvoiceCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceCreate}
789
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
829
+ # @param params [Hash] Optional query string parameters:
790
830
  #
791
831
  # @return [Resources::InvoiceCollection] Returns the invoice previews.
792
832
  # @example
@@ -813,10 +853,11 @@ module Recurly
813
853
 
814
854
  # List an account's line items
815
855
  #
816
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_account_line_items list_account_line_items api documenation}
856
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_line_items list_account_line_items api documenation}
817
857
  #
818
858
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
819
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
859
+ # @param params [Hash] Optional query string parameters:
860
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
820
861
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
821
862
  #
822
863
  # *Important notes:*
@@ -828,28 +869,30 @@ module Recurly
828
869
  # * Records are returned in an arbitrary order. Since results are all
829
870
  # returned at once you can sort the records yourself.
830
871
  #
831
- # @param limit [Integer] Limit number of records 1-200.
832
- # @param order [String] Sort order.
833
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
872
+ # :limit [Integer] Limit number of records 1-200.
873
+ # :order [String] Sort order.
874
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
834
875
  # order. In descending order updated records will move behind the cursor and could
835
876
  # prevent some records from being returned.
836
877
  #
837
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
878
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
838
879
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
839
880
  #
840
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
881
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
841
882
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
842
883
  #
843
- # @param original [String] Filter by original field.
844
- # @param state [String] Filter by state field.
845
- # @param type [String] Filter by type field.
846
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
884
+ # :original [String] Filter by original field.
885
+ # :state [String] Filter by state field.
886
+ # :type [String] Filter by type field.
847
887
  #
848
888
  # @return [Pager<Resources::LineItem>] A list of the account's line items.
849
889
  # @example
890
+ # params = {
891
+ # limit: 200
892
+ # }
850
893
  # line_items = @client.list_account_line_items(
851
894
  # account_id: account_id,
852
- # limit: 200
895
+ # params: params
853
896
  # )
854
897
  # line_items.each do |line_item|
855
898
  # puts "LineItem: #{line_item.id}"
@@ -862,11 +905,11 @@ module Recurly
862
905
 
863
906
  # Create a new line item for the account
864
907
  #
865
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_line_item create_line_item api documenation}
908
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_line_item create_line_item api documenation}
866
909
  #
867
910
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
868
911
  # @param body [Requests::LineItemCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::LineItemCreate}
869
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
912
+ # @param params [Hash] Optional query string parameters:
870
913
  #
871
914
  # @return [Resources::LineItem] Returns the new line item.
872
915
  # @example
@@ -894,10 +937,11 @@ module Recurly
894
937
 
895
938
  # Fetch a list of an account's notes
896
939
  #
897
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_account_notes list_account_notes api documenation}
940
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_notes list_account_notes api documenation}
898
941
  #
899
942
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
900
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
943
+ # @param params [Hash] Optional query string parameters:
944
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
901
945
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
902
946
  #
903
947
  # *Important notes:*
@@ -909,11 +953,13 @@ module Recurly
909
953
  # * Records are returned in an arbitrary order. Since results are all
910
954
  # returned at once you can sort the records yourself.
911
955
  #
912
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
913
956
  #
914
957
  # @return [Pager<Resources::AccountNote>] A list of an account's notes.
915
958
  # @example
916
- # account_notes = @client.list_account_notes(account_id: account_id, limit: 200)
959
+ # params = {
960
+ # limit: 200
961
+ # }
962
+ # account_notes = @client.list_account_notes(account_id: account_id, params: params)
917
963
  # account_notes.each do |note|
918
964
  # puts "AccountNote: #{note.message}"
919
965
  # end
@@ -925,11 +971,11 @@ module Recurly
925
971
 
926
972
  # Fetch an account note
927
973
  #
928
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_account_note get_account_note api documenation}
974
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_account_note get_account_note api documenation}
929
975
  #
930
976
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
931
977
  # @param account_note_id [String] Account Note ID.
932
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
978
+ # @param params [Hash] Optional query string parameters:
933
979
  #
934
980
  # @return [Resources::AccountNote] An account note.
935
981
  # @example
@@ -952,10 +998,11 @@ module Recurly
952
998
 
953
999
  # Fetch a list of an account's shipping addresses
954
1000
  #
955
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_shipping_addresses list_shipping_addresses api documenation}
1001
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_shipping_addresses list_shipping_addresses api documenation}
956
1002
  #
957
1003
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
958
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1004
+ # @param params [Hash] Optional query string parameters:
1005
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
959
1006
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
960
1007
  #
961
1008
  # *Important notes:*
@@ -967,25 +1014,27 @@ module Recurly
967
1014
  # * Records are returned in an arbitrary order. Since results are all
968
1015
  # returned at once you can sort the records yourself.
969
1016
  #
970
- # @param limit [Integer] Limit number of records 1-200.
971
- # @param order [String] Sort order.
972
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1017
+ # :limit [Integer] Limit number of records 1-200.
1018
+ # :order [String] Sort order.
1019
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
973
1020
  # order. In descending order updated records will move behind the cursor and could
974
1021
  # prevent some records from being returned.
975
1022
  #
976
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1023
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
977
1024
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
978
1025
  #
979
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1026
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
980
1027
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
981
1028
  #
982
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
983
1029
  #
984
1030
  # @return [Pager<Resources::ShippingAddress>] A list of an account's shipping addresses.
985
1031
  # @example
1032
+ # params = {
1033
+ # limit: 200
1034
+ # }
986
1035
  # shipping_addresses = @client.list_shipping_addresses(
987
1036
  # account_id: account_id,
988
- # limit: 200
1037
+ # params: params
989
1038
  # )
990
1039
  # shipping_addresses.each do |addr|
991
1040
  # puts "ShippingAddress: #{addr.nickname} - #{addr.street1}"
@@ -998,11 +1047,11 @@ module Recurly
998
1047
 
999
1048
  # Create a new shipping address for the account
1000
1049
  #
1001
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_shipping_address create_shipping_address api documenation}
1050
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_shipping_address create_shipping_address api documenation}
1002
1051
  #
1003
1052
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
1004
1053
  # @param body [Requests::ShippingAddressCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ShippingAddressCreate}
1005
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1054
+ # @param params [Hash] Optional query string parameters:
1006
1055
  #
1007
1056
  # @return [Resources::ShippingAddress] Returns the new shipping address.
1008
1057
  # @example
@@ -1032,11 +1081,11 @@ module Recurly
1032
1081
 
1033
1082
  # Fetch an account's shipping address
1034
1083
  #
1035
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_shipping_address get_shipping_address api documenation}
1084
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_shipping_address get_shipping_address api documenation}
1036
1085
  #
1037
1086
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
1038
1087
  # @param shipping_address_id [String] Shipping Address ID.
1039
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1088
+ # @param params [Hash] Optional query string parameters:
1040
1089
  #
1041
1090
  # @return [Resources::ShippingAddress] A shipping address.
1042
1091
  # @example
@@ -1059,12 +1108,12 @@ module Recurly
1059
1108
 
1060
1109
  # Update an account's shipping address
1061
1110
  #
1062
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_shipping_address update_shipping_address api documenation}
1111
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_shipping_address update_shipping_address api documenation}
1063
1112
  #
1064
1113
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
1065
1114
  # @param shipping_address_id [String] Shipping Address ID.
1066
1115
  # @param body [Requests::ShippingAddressUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ShippingAddressUpdate}
1067
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1116
+ # @param params [Hash] Optional query string parameters:
1068
1117
  #
1069
1118
  # @return [Resources::ShippingAddress] The updated shipping address.
1070
1119
  # @example
@@ -1093,11 +1142,11 @@ module Recurly
1093
1142
 
1094
1143
  # Remove an account's shipping address
1095
1144
  #
1096
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_shipping_address remove_shipping_address api documenation}
1145
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_shipping_address remove_shipping_address api documenation}
1097
1146
  #
1098
1147
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
1099
1148
  # @param shipping_address_id [String] Shipping Address ID.
1100
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1149
+ # @param params [Hash] Optional query string parameters:
1101
1150
  #
1102
1151
  # @return [Resources::Empty] Shipping address deleted.
1103
1152
  # @example
@@ -1120,10 +1169,11 @@ module Recurly
1120
1169
 
1121
1170
  # List an account's subscriptions
1122
1171
  #
1123
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_account_subscriptions list_account_subscriptions api documenation}
1172
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_subscriptions list_account_subscriptions api documenation}
1124
1173
  #
1125
1174
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
1126
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1175
+ # @param params [Hash] Optional query string parameters:
1176
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1127
1177
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1128
1178
  #
1129
1179
  # *Important notes:*
@@ -1135,31 +1185,33 @@ module Recurly
1135
1185
  # * Records are returned in an arbitrary order. Since results are all
1136
1186
  # returned at once you can sort the records yourself.
1137
1187
  #
1138
- # @param limit [Integer] Limit number of records 1-200.
1139
- # @param order [String] Sort order.
1140
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1188
+ # :limit [Integer] Limit number of records 1-200.
1189
+ # :order [String] Sort order.
1190
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1141
1191
  # order. In descending order updated records will move behind the cursor and could
1142
1192
  # prevent some records from being returned.
1143
1193
  #
1144
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1194
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1145
1195
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1146
1196
  #
1147
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1197
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1148
1198
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1149
1199
  #
1150
- # @param state [String] Filter by state.
1200
+ # :state [String] Filter by state.
1151
1201
  #
1152
1202
  # - When +state=active+, +state=canceled+, +state=expired+, or +state=future+, subscriptions with states that match the query and only those subscriptions will be returned.
1153
1203
  # - When +state=in_trial+, only subscriptions that have a trial_started_at date earlier than now and a trial_ends_at date later than now will be returned.
1154
1204
  # - When +state=live+, only subscriptions that are in an active, canceled, or future state or are in trial will be returned.
1155
1205
  #
1156
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1157
1206
  #
1158
1207
  # @return [Pager<Resources::Subscription>] A list of the account's subscriptions.
1159
1208
  # @example
1209
+ # params = {
1210
+ # limit: 200
1211
+ # }
1160
1212
  # subscriptions = @client.list_account_subscriptions(
1161
1213
  # account_id: account_id,
1162
- # limit: 200
1214
+ # params: params
1163
1215
  # )
1164
1216
  # subscriptions.each do |subscription|
1165
1217
  # puts "Subscription: #{subscription.uuid}"
@@ -1172,10 +1224,11 @@ module Recurly
1172
1224
 
1173
1225
  # List an account's transactions
1174
1226
  #
1175
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_account_transactions list_account_transactions api documenation}
1227
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_transactions list_account_transactions api documenation}
1176
1228
  #
1177
1229
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
1178
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1230
+ # @param params [Hash] Optional query string parameters:
1231
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1179
1232
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1180
1233
  #
1181
1234
  # *Important notes:*
@@ -1187,27 +1240,29 @@ module Recurly
1187
1240
  # * Records are returned in an arbitrary order. Since results are all
1188
1241
  # returned at once you can sort the records yourself.
1189
1242
  #
1190
- # @param limit [Integer] Limit number of records 1-200.
1191
- # @param order [String] Sort order.
1192
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1243
+ # :limit [Integer] Limit number of records 1-200.
1244
+ # :order [String] Sort order.
1245
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1193
1246
  # order. In descending order updated records will move behind the cursor and could
1194
1247
  # prevent some records from being returned.
1195
1248
  #
1196
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1249
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1197
1250
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1198
1251
  #
1199
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1252
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1200
1253
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1201
1254
  #
1202
- # @param type [String] Filter by type field. The value +payment+ will return both +purchase+ and +capture+ transactions.
1203
- # @param success [String] Filter by success field.
1204
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1255
+ # :type [String] Filter by type field. The value +payment+ will return both +purchase+ and +capture+ transactions.
1256
+ # :success [String] Filter by success field.
1205
1257
  #
1206
1258
  # @return [Pager<Resources::Transaction>] A list of the account's transactions.
1207
1259
  # @example
1260
+ # params = {
1261
+ # limit: 200
1262
+ # }
1208
1263
  # transactions = @client.list_account_transactions(
1209
1264
  # account_id: account_id,
1210
- # limit: 200
1265
+ # params: params
1211
1266
  # )
1212
1267
  # transactions.each do |transaction|
1213
1268
  # puts "Transaction: #{transaction.uuid}"
@@ -1220,10 +1275,11 @@ module Recurly
1220
1275
 
1221
1276
  # List an account's child accounts
1222
1277
  #
1223
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_child_accounts list_child_accounts api documenation}
1278
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_child_accounts list_child_accounts api documenation}
1224
1279
  #
1225
1280
  # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
1226
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1281
+ # @param params [Hash] Optional query string parameters:
1282
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1227
1283
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1228
1284
  #
1229
1285
  # *Important notes:*
@@ -1235,30 +1291,32 @@ module Recurly
1235
1291
  # * Records are returned in an arbitrary order. Since results are all
1236
1292
  # returned at once you can sort the records yourself.
1237
1293
  #
1238
- # @param limit [Integer] Limit number of records 1-200.
1239
- # @param order [String] Sort order.
1240
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1294
+ # :limit [Integer] Limit number of records 1-200.
1295
+ # :order [String] Sort order.
1296
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1241
1297
  # order. In descending order updated records will move behind the cursor and could
1242
1298
  # prevent some records from being returned.
1243
1299
  #
1244
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1300
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1245
1301
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1246
1302
  #
1247
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1303
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1248
1304
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1249
1305
  #
1250
- # @param email [String] Filter for accounts with this exact email address. A blank value will return accounts with both +null+ and +""+ email addresses. Note that multiple accounts can share one email address.
1251
- # @param subscriber [Boolean] Filter for accounts with or without a subscription in the +active+,
1306
+ # :email [String] Filter for accounts with this exact email address. A blank value will return accounts with both +null+ and +""+ email addresses. Note that multiple accounts can share one email address.
1307
+ # :subscriber [Boolean] Filter for accounts with or without a subscription in the +active+,
1252
1308
  # +canceled+, or +future+ state.
1253
1309
  #
1254
- # @param past_due [String] Filter for accounts with an invoice in the +past_due+ state.
1255
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1310
+ # :past_due [String] Filter for accounts with an invoice in the +past_due+ state.
1256
1311
  #
1257
1312
  # @return [Pager<Resources::Account>] A list of an account's child accounts.
1258
1313
  # @example
1314
+ # params = {
1315
+ # limit: 200
1316
+ # }
1259
1317
  # child_accounts = @client.list_child_accounts(
1260
1318
  # account_id: account_id,
1261
- # limit: 200
1319
+ # params: params
1262
1320
  # )
1263
1321
  # child_accounts.each do |child|
1264
1322
  # puts "Account: #{child.code}"
@@ -1271,9 +1329,10 @@ module Recurly
1271
1329
 
1272
1330
  # List a site's account acquisition data
1273
1331
  #
1274
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_account_acquisition list_account_acquisition api documenation}
1332
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_acquisition list_account_acquisition api documenation}
1275
1333
  #
1276
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1334
+ # @param params [Hash] Optional query string parameters:
1335
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1277
1336
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1278
1337
  #
1279
1338
  # *Important notes:*
@@ -1285,37 +1344,40 @@ module Recurly
1285
1344
  # * Records are returned in an arbitrary order. Since results are all
1286
1345
  # returned at once you can sort the records yourself.
1287
1346
  #
1288
- # @param limit [Integer] Limit number of records 1-200.
1289
- # @param order [String] Sort order.
1290
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1347
+ # :limit [Integer] Limit number of records 1-200.
1348
+ # :order [String] Sort order.
1349
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1291
1350
  # order. In descending order updated records will move behind the cursor and could
1292
1351
  # prevent some records from being returned.
1293
1352
  #
1294
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1353
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1295
1354
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1296
1355
  #
1297
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1356
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1298
1357
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1299
1358
  #
1300
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1301
1359
  #
1302
1360
  # @return [Pager<Resources::AccountAcquisition>] A list of the site's account acquisition data.
1303
1361
  # @example
1304
- # acquisitions = @client.list_account_acquisition(limit: 200)
1362
+ # params = {
1363
+ # limit: 200
1364
+ # }
1365
+ # acquisitions = @client.list_account_acquisition(params: params)
1305
1366
  # acquisitions.each do |acquisition|
1306
1367
  # puts "AccountAcquisition: #{acquisition.cost}"
1307
1368
  # end
1308
1369
  #
1309
1370
  def list_account_acquisition(**options)
1310
- path = interpolate_path("/acquisitions")
1371
+ path = "/acquisitions"
1311
1372
  pager(path, **options)
1312
1373
  end
1313
1374
 
1314
1375
  # List a site's coupons
1315
1376
  #
1316
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_coupons list_coupons api documenation}
1377
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_coupons list_coupons api documenation}
1317
1378
  #
1318
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1379
+ # @param params [Hash] Optional query string parameters:
1380
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1319
1381
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1320
1382
  #
1321
1383
  # *Important notes:*
@@ -1327,38 +1389,40 @@ module Recurly
1327
1389
  # * Records are returned in an arbitrary order. Since results are all
1328
1390
  # returned at once you can sort the records yourself.
1329
1391
  #
1330
- # @param limit [Integer] Limit number of records 1-200.
1331
- # @param order [String] Sort order.
1332
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1392
+ # :limit [Integer] Limit number of records 1-200.
1393
+ # :order [String] Sort order.
1394
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1333
1395
  # order. In descending order updated records will move behind the cursor and could
1334
1396
  # prevent some records from being returned.
1335
1397
  #
1336
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1398
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1337
1399
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1338
1400
  #
1339
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1401
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1340
1402
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1341
1403
  #
1342
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1343
1404
  #
1344
1405
  # @return [Pager<Resources::Coupon>] A list of the site's coupons.
1345
1406
  # @example
1346
- # coupons = @client.list_coupons(limit: 200)
1407
+ # params = {
1408
+ # limit: 200
1409
+ # }
1410
+ # coupons = @client.list_coupons(params: params)
1347
1411
  # coupons.each do |coupon|
1348
1412
  # puts "coupon: #{coupon.code}"
1349
1413
  # end
1350
1414
  #
1351
1415
  def list_coupons(**options)
1352
- path = interpolate_path("/coupons")
1416
+ path = "/coupons"
1353
1417
  pager(path, **options)
1354
1418
  end
1355
1419
 
1356
1420
  # Create a new coupon
1357
1421
  #
1358
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_coupon create_coupon api documenation}
1422
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_coupon create_coupon api documenation}
1359
1423
  #
1360
1424
  # @param body [Requests::CouponCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponCreate}
1361
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1425
+ # @param params [Hash] Optional query string parameters:
1362
1426
  #
1363
1427
  # @return [Resources::Coupon] A new coupon.
1364
1428
  # @example
@@ -1385,16 +1449,16 @@ module Recurly
1385
1449
  # end
1386
1450
  #
1387
1451
  def create_coupon(body:, **options)
1388
- path = interpolate_path("/coupons")
1452
+ path = "/coupons"
1389
1453
  post(path, body, Requests::CouponCreate, **options)
1390
1454
  end
1391
1455
 
1392
1456
  # Fetch a coupon
1393
1457
  #
1394
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_coupon get_coupon api documenation}
1458
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_coupon get_coupon api documenation}
1395
1459
  #
1396
1460
  # @param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-10off+.
1397
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1461
+ # @param params [Hash] Optional query string parameters:
1398
1462
  #
1399
1463
  # @return [Resources::Coupon] A coupon.
1400
1464
  # @example
@@ -1414,11 +1478,11 @@ module Recurly
1414
1478
 
1415
1479
  # Update an active coupon
1416
1480
  #
1417
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_coupon update_coupon api documenation}
1481
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_coupon update_coupon api documenation}
1418
1482
  #
1419
1483
  # @param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-10off+.
1420
1484
  # @param body [Requests::CouponUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponUpdate}
1421
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1485
+ # @param params [Hash] Optional query string parameters:
1422
1486
  #
1423
1487
  # @return [Resources::Coupon] The updated coupon.
1424
1488
  # @example
@@ -1441,10 +1505,10 @@ module Recurly
1441
1505
 
1442
1506
  # Expire a coupon
1443
1507
  #
1444
- # {https://developers.recurly.com/api/v2019-10-10#operation/deactivate_coupon deactivate_coupon api documenation}
1508
+ # {https://developers.recurly.com/api/v2021-02-25#operation/deactivate_coupon deactivate_coupon api documenation}
1445
1509
  #
1446
1510
  # @param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-10off+.
1447
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1511
+ # @param params [Hash] Optional query string parameters:
1448
1512
  #
1449
1513
  # @return [Resources::Coupon] The expired Coupon
1450
1514
  # @example
@@ -1462,26 +1526,30 @@ module Recurly
1462
1526
  delete(path, **options)
1463
1527
  end
1464
1528
 
1529
+ # Generate unique coupon codes
1530
+ #
1531
+ # {https://developers.recurly.com/api/v2021-02-25#operation/generate_unique_coupon_codes generate_unique_coupon_codes api documenation}
1532
+ #
1533
+ # @param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-10off+.
1534
+ # @param body [Requests::CouponBulkCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponBulkCreate}
1535
+ # @param params [Hash] Optional query string parameters:
1536
+ #
1537
+ # @return [Resources::UniqueCouponCodeParams] A set of parameters that can be passed to the `list_unique_coupon_codes` endpoint to obtain only the newly generated `UniqueCouponCodes`.
1538
+ #
1539
+ def generate_unique_coupon_codes(coupon_id:, body:, **options)
1540
+ path = interpolate_path("/coupons/{coupon_id}/generate", coupon_id: coupon_id)
1541
+ post(path, body, Requests::CouponBulkCreate, **options)
1542
+ end
1543
+
1465
1544
  # Restore an inactive coupon
1466
1545
  #
1467
- # {https://developers.recurly.com/api/v2019-10-10#operation/restore_coupon restore_coupon api documenation}
1546
+ # {https://developers.recurly.com/api/v2021-02-25#operation/restore_coupon restore_coupon api documenation}
1468
1547
  #
1469
1548
  # @param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-10off+.
1470
1549
  # @param body [Requests::CouponUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponUpdate}
1471
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1550
+ # @param params [Hash] Optional query string parameters:
1472
1551
  #
1473
1552
  # @return [Resources::Coupon] The restored coupon.
1474
- # @example
1475
- # begin
1476
- # coupon = @client.restore_coupon(coupon_id: coupon_id, body: {
1477
- # name: "New Coupon Name"
1478
- # })
1479
- # puts "Restored coupon #{coupon}"
1480
- # rescue Recurly::Errors::NotFoundError
1481
- # # If the resource was not found, you may want to alert the user or
1482
- # # just return nil
1483
- # puts "Resource Not Found"
1484
- # end
1485
1553
  #
1486
1554
  def restore_coupon(coupon_id:, body:, **options)
1487
1555
  path = interpolate_path("/coupons/{coupon_id}/restore", coupon_id: coupon_id)
@@ -1490,10 +1558,11 @@ module Recurly
1490
1558
 
1491
1559
  # List unique coupon codes associated with a bulk coupon
1492
1560
  #
1493
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_unique_coupon_codes list_unique_coupon_codes api documenation}
1561
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_unique_coupon_codes list_unique_coupon_codes api documenation}
1494
1562
  #
1495
1563
  # @param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-10off+.
1496
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1564
+ # @param params [Hash] Optional query string parameters:
1565
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1497
1566
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1498
1567
  #
1499
1568
  # *Important notes:*
@@ -1505,19 +1574,18 @@ module Recurly
1505
1574
  # * Records are returned in an arbitrary order. Since results are all
1506
1575
  # returned at once you can sort the records yourself.
1507
1576
  #
1508
- # @param limit [Integer] Limit number of records 1-200.
1509
- # @param order [String] Sort order.
1510
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1577
+ # :limit [Integer] Limit number of records 1-200.
1578
+ # :order [String] Sort order.
1579
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1511
1580
  # order. In descending order updated records will move behind the cursor and could
1512
1581
  # prevent some records from being returned.
1513
1582
  #
1514
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1583
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1515
1584
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1516
1585
  #
1517
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1586
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1518
1587
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1519
1588
  #
1520
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1521
1589
  #
1522
1590
  # @return [Pager<Resources::UniqueCouponCode>] A list of unique coupon codes that were generated
1523
1591
  #
@@ -1528,40 +1596,43 @@ module Recurly
1528
1596
 
1529
1597
  # List a site's credit payments
1530
1598
  #
1531
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_credit_payments list_credit_payments api documenation}
1599
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_credit_payments list_credit_payments api documenation}
1532
1600
  #
1533
- # @param limit [Integer] Limit number of records 1-200.
1534
- # @param order [String] Sort order.
1535
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1601
+ # @param params [Hash] Optional query string parameters:
1602
+ # :limit [Integer] Limit number of records 1-200.
1603
+ # :order [String] Sort order.
1604
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1536
1605
  # order. In descending order updated records will move behind the cursor and could
1537
1606
  # prevent some records from being returned.
1538
1607
  #
1539
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1608
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1540
1609
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1541
1610
  #
1542
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1611
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1543
1612
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1544
1613
  #
1545
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1546
1614
  #
1547
1615
  # @return [Pager<Resources::CreditPayment>] A list of the site's credit payments.
1548
1616
  # @example
1549
- # payments = @client.list_credit_payments(limit: 200)
1617
+ # params = {
1618
+ # limit: 200
1619
+ # }
1620
+ # payments = @client.list_credit_payments(params: params)
1550
1621
  # payments.each do |payment|
1551
1622
  # puts "CreditPayment: #{payment.id}"
1552
1623
  # end
1553
1624
  #
1554
1625
  def list_credit_payments(**options)
1555
- path = interpolate_path("/credit_payments")
1626
+ path = "/credit_payments"
1556
1627
  pager(path, **options)
1557
1628
  end
1558
1629
 
1559
1630
  # Fetch a credit payment
1560
1631
  #
1561
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_credit_payment get_credit_payment api documenation}
1632
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_credit_payment get_credit_payment api documenation}
1562
1633
  #
1563
1634
  # @param credit_payment_id [String] Credit Payment ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
1564
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1635
+ # @param params [Hash] Optional query string parameters:
1565
1636
  #
1566
1637
  # @return [Resources::CreditPayment] A credit payment.
1567
1638
  #
@@ -1572,9 +1643,10 @@ module Recurly
1572
1643
 
1573
1644
  # List a site's custom field definitions
1574
1645
  #
1575
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_custom_field_definitions list_custom_field_definitions api documenation}
1646
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_custom_field_definitions list_custom_field_definitions api documenation}
1576
1647
  #
1577
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1648
+ # @param params [Hash] Optional query string parameters:
1649
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1578
1650
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1579
1651
  #
1580
1652
  # *Important notes:*
@@ -1586,39 +1658,41 @@ module Recurly
1586
1658
  # * Records are returned in an arbitrary order. Since results are all
1587
1659
  # returned at once you can sort the records yourself.
1588
1660
  #
1589
- # @param limit [Integer] Limit number of records 1-200.
1590
- # @param order [String] Sort order.
1591
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1661
+ # :limit [Integer] Limit number of records 1-200.
1662
+ # :order [String] Sort order.
1663
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1592
1664
  # order. In descending order updated records will move behind the cursor and could
1593
1665
  # prevent some records from being returned.
1594
1666
  #
1595
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1667
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1596
1668
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1597
1669
  #
1598
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1670
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1599
1671
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1600
1672
  #
1601
- # @param related_type [String] Filter by related type.
1602
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1673
+ # :related_type [String] Filter by related type.
1603
1674
  #
1604
1675
  # @return [Pager<Resources::CustomFieldDefinition>] A list of the site's custom field definitions.
1605
1676
  # @example
1606
- # custom_fields = @client.list_custom_field_definitions(limit: 200)
1677
+ # params = {
1678
+ # limit: 200
1679
+ # }
1680
+ # custom_fields = @client.list_custom_field_definitions(params: params)
1607
1681
  # custom_fields.each do |field|
1608
1682
  # puts "CustomFieldDefinition: #{field.name}"
1609
1683
  # end
1610
1684
  #
1611
1685
  def list_custom_field_definitions(**options)
1612
- path = interpolate_path("/custom_field_definitions")
1686
+ path = "/custom_field_definitions"
1613
1687
  pager(path, **options)
1614
1688
  end
1615
1689
 
1616
1690
  # Fetch an custom field definition
1617
1691
  #
1618
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_custom_field_definition get_custom_field_definition api documenation}
1692
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_custom_field_definition get_custom_field_definition api documenation}
1619
1693
  #
1620
1694
  # @param custom_field_definition_id [String] Custom Field Definition ID
1621
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1695
+ # @param params [Hash] Optional query string parameters:
1622
1696
  #
1623
1697
  # @return [Resources::CustomFieldDefinition] An custom field definition.
1624
1698
  # @example
@@ -1640,9 +1714,10 @@ module Recurly
1640
1714
 
1641
1715
  # List a site's items
1642
1716
  #
1643
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_items list_items api documenation}
1717
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_items list_items api documenation}
1644
1718
  #
1645
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1719
+ # @param params [Hash] Optional query string parameters:
1720
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1646
1721
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1647
1722
  #
1648
1723
  # *Important notes:*
@@ -1654,39 +1729,41 @@ module Recurly
1654
1729
  # * Records are returned in an arbitrary order. Since results are all
1655
1730
  # returned at once you can sort the records yourself.
1656
1731
  #
1657
- # @param limit [Integer] Limit number of records 1-200.
1658
- # @param order [String] Sort order.
1659
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1732
+ # :limit [Integer] Limit number of records 1-200.
1733
+ # :order [String] Sort order.
1734
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1660
1735
  # order. In descending order updated records will move behind the cursor and could
1661
1736
  # prevent some records from being returned.
1662
1737
  #
1663
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1738
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1664
1739
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1665
1740
  #
1666
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1741
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1667
1742
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1668
1743
  #
1669
- # @param state [String] Filter by state.
1670
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1744
+ # :state [String] Filter by state.
1671
1745
  #
1672
1746
  # @return [Pager<Resources::Item>] A list of the site's items.
1673
1747
  # @example
1674
- # items = @client.list_items(limit: 200)
1748
+ # params = {
1749
+ # limit: 200
1750
+ # }
1751
+ # items = @client.list_items(params: params)
1675
1752
  # items.each do |item|
1676
1753
  # puts "Item: #{item.code}"
1677
1754
  # end
1678
1755
  #
1679
1756
  def list_items(**options)
1680
- path = interpolate_path("/items")
1757
+ path = "/items"
1681
1758
  pager(path, **options)
1682
1759
  end
1683
1760
 
1684
1761
  # Create a new item
1685
1762
  #
1686
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_item create_item api documenation}
1763
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_item create_item api documenation}
1687
1764
  #
1688
1765
  # @param body [Requests::ItemCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ItemCreate}
1689
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1766
+ # @param params [Hash] Optional query string parameters:
1690
1767
  #
1691
1768
  # @return [Resources::Item] A new item.
1692
1769
  # @example
@@ -1712,16 +1789,16 @@ module Recurly
1712
1789
  # end
1713
1790
  #
1714
1791
  def create_item(body:, **options)
1715
- path = interpolate_path("/items")
1792
+ path = "/items"
1716
1793
  post(path, body, Requests::ItemCreate, **options)
1717
1794
  end
1718
1795
 
1719
1796
  # Fetch an item
1720
1797
  #
1721
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_item get_item api documenation}
1798
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_item get_item api documenation}
1722
1799
  #
1723
1800
  # @param item_id [String] Item ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-red+.
1724
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1801
+ # @param params [Hash] Optional query string parameters:
1725
1802
  #
1726
1803
  # @return [Resources::Item] An item.
1727
1804
  # @example
@@ -1741,11 +1818,11 @@ module Recurly
1741
1818
 
1742
1819
  # Update an active item
1743
1820
  #
1744
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_item update_item api documenation}
1821
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_item update_item api documenation}
1745
1822
  #
1746
1823
  # @param item_id [String] Item ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-red+.
1747
1824
  # @param body [Requests::ItemUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ItemUpdate}
1748
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1825
+ # @param params [Hash] Optional query string parameters:
1749
1826
  #
1750
1827
  # @return [Resources::Item] The updated item.
1751
1828
  # @example
@@ -1772,10 +1849,10 @@ module Recurly
1772
1849
 
1773
1850
  # Deactivate an item
1774
1851
  #
1775
- # {https://developers.recurly.com/api/v2019-10-10#operation/deactivate_item deactivate_item api documenation}
1852
+ # {https://developers.recurly.com/api/v2021-02-25#operation/deactivate_item deactivate_item api documenation}
1776
1853
  #
1777
1854
  # @param item_id [String] Item ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-red+.
1778
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1855
+ # @param params [Hash] Optional query string parameters:
1779
1856
  #
1780
1857
  # @return [Resources::Item] An item.
1781
1858
  # @example
@@ -1795,10 +1872,10 @@ module Recurly
1795
1872
 
1796
1873
  # Reactivate an inactive item
1797
1874
  #
1798
- # {https://developers.recurly.com/api/v2019-10-10#operation/reactivate_item reactivate_item api documenation}
1875
+ # {https://developers.recurly.com/api/v2021-02-25#operation/reactivate_item reactivate_item api documenation}
1799
1876
  #
1800
1877
  # @param item_id [String] Item ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-red+.
1801
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1878
+ # @param params [Hash] Optional query string parameters:
1802
1879
  #
1803
1880
  # @return [Resources::Item] An item.
1804
1881
  # @example
@@ -1818,9 +1895,10 @@ module Recurly
1818
1895
 
1819
1896
  # List a site's measured units
1820
1897
  #
1821
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_measured_unit list_measured_unit api documenation}
1898
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_measured_unit list_measured_unit api documenation}
1822
1899
  #
1823
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1900
+ # @param params [Hash] Optional query string parameters:
1901
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1824
1902
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1825
1903
  #
1826
1904
  # *Important notes:*
@@ -1832,48 +1910,47 @@ module Recurly
1832
1910
  # * Records are returned in an arbitrary order. Since results are all
1833
1911
  # returned at once you can sort the records yourself.
1834
1912
  #
1835
- # @param limit [Integer] Limit number of records 1-200.
1836
- # @param order [String] Sort order.
1837
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1913
+ # :limit [Integer] Limit number of records 1-200.
1914
+ # :order [String] Sort order.
1915
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1838
1916
  # order. In descending order updated records will move behind the cursor and could
1839
1917
  # prevent some records from being returned.
1840
1918
  #
1841
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1919
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1842
1920
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1843
1921
  #
1844
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1922
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1845
1923
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1846
1924
  #
1847
- # @param state [String] Filter by state.
1848
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1925
+ # :state [String] Filter by state.
1849
1926
  #
1850
1927
  # @return [Pager<Resources::MeasuredUnit>] A list of the site's measured units.
1851
1928
  #
1852
1929
  def list_measured_unit(**options)
1853
- path = interpolate_path("/measured_units")
1930
+ path = "/measured_units"
1854
1931
  pager(path, **options)
1855
1932
  end
1856
1933
 
1857
1934
  # Create a new measured unit
1858
1935
  #
1859
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_measured_unit create_measured_unit api documenation}
1936
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_measured_unit create_measured_unit api documenation}
1860
1937
  #
1861
1938
  # @param body [Requests::MeasuredUnitCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::MeasuredUnitCreate}
1862
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1939
+ # @param params [Hash] Optional query string parameters:
1863
1940
  #
1864
1941
  # @return [Resources::MeasuredUnit] A new measured unit.
1865
1942
  #
1866
1943
  def create_measured_unit(body:, **options)
1867
- path = interpolate_path("/measured_units")
1944
+ path = "/measured_units"
1868
1945
  post(path, body, Requests::MeasuredUnitCreate, **options)
1869
1946
  end
1870
1947
 
1871
1948
  # Fetch a measured unit
1872
1949
  #
1873
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_measured_unit get_measured_unit api documenation}
1950
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_measured_unit get_measured_unit api documenation}
1874
1951
  #
1875
1952
  # @param measured_unit_id [String] Measured unit ID or name. For ID no prefix is used e.g. +e28zov4fw0v2+. For name use prefix +name-+, e.g. +name-Storage+.
1876
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1953
+ # @param params [Hash] Optional query string parameters:
1877
1954
  #
1878
1955
  # @return [Resources::MeasuredUnit] An item.
1879
1956
  #
@@ -1884,11 +1961,11 @@ module Recurly
1884
1961
 
1885
1962
  # Update a measured unit
1886
1963
  #
1887
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_measured_unit update_measured_unit api documenation}
1964
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_measured_unit update_measured_unit api documenation}
1888
1965
  #
1889
1966
  # @param measured_unit_id [String] Measured unit ID or name. For ID no prefix is used e.g. +e28zov4fw0v2+. For name use prefix +name-+, e.g. +name-Storage+.
1890
1967
  # @param body [Requests::MeasuredUnitUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::MeasuredUnitUpdate}
1891
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1968
+ # @param params [Hash] Optional query string parameters:
1892
1969
  #
1893
1970
  # @return [Resources::MeasuredUnit] The updated measured_unit.
1894
1971
  #
@@ -1899,10 +1976,10 @@ module Recurly
1899
1976
 
1900
1977
  # Remove a measured unit
1901
1978
  #
1902
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_measured_unit remove_measured_unit api documenation}
1979
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_measured_unit remove_measured_unit api documenation}
1903
1980
  #
1904
1981
  # @param measured_unit_id [String] Measured unit ID or name. For ID no prefix is used e.g. +e28zov4fw0v2+. For name use prefix +name-+, e.g. +name-Storage+.
1905
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1982
+ # @param params [Hash] Optional query string parameters:
1906
1983
  #
1907
1984
  # @return [Resources::MeasuredUnit] A measured unit.
1908
1985
  #
@@ -1913,9 +1990,10 @@ module Recurly
1913
1990
 
1914
1991
  # List a site's invoices
1915
1992
  #
1916
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_invoices list_invoices api documenation}
1993
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_invoices list_invoices api documenation}
1917
1994
  #
1918
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1995
+ # @param params [Hash] Optional query string parameters:
1996
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1919
1997
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1920
1998
  #
1921
1999
  # *Important notes:*
@@ -1927,44 +2005,46 @@ module Recurly
1927
2005
  # * Records are returned in an arbitrary order. Since results are all
1928
2006
  # returned at once you can sort the records yourself.
1929
2007
  #
1930
- # @param limit [Integer] Limit number of records 1-200.
1931
- # @param order [String] Sort order.
1932
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2008
+ # :limit [Integer] Limit number of records 1-200.
2009
+ # :order [String] Sort order.
2010
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1933
2011
  # order. In descending order updated records will move behind the cursor and could
1934
2012
  # prevent some records from being returned.
1935
2013
  #
1936
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2014
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
1937
2015
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1938
2016
  #
1939
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2017
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
1940
2018
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
1941
2019
  #
1942
- # @param type [String] Filter by type when:
2020
+ # :type [String] Filter by type when:
1943
2021
  # - +type=charge+, only charge invoices will be returned.
1944
2022
  # - +type=credit+, only credit invoices will be returned.
1945
2023
  # - +type=non-legacy+, only charge and credit invoices will be returned.
1946
2024
  # - +type=legacy+, only legacy invoices will be returned.
1947
2025
  #
1948
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1949
2026
  #
1950
2027
  # @return [Pager<Resources::Invoice>] A list of the site's invoices.
1951
2028
  # @example
1952
- # invoices = @client.list_invoices(limit: 200)
2029
+ # params = {
2030
+ # limit: 200
2031
+ # }
2032
+ # invoices = @client.list_invoices(params: params)
1953
2033
  # invoices.each do |invoice|
1954
2034
  # puts "Invoice: #{invoice.number}"
1955
2035
  # end
1956
2036
  #
1957
2037
  def list_invoices(**options)
1958
- path = interpolate_path("/invoices")
2038
+ path = "/invoices"
1959
2039
  pager(path, **options)
1960
2040
  end
1961
2041
 
1962
2042
  # Fetch an invoice
1963
2043
  #
1964
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_invoice get_invoice api documenation}
2044
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_invoice get_invoice api documenation}
1965
2045
  #
1966
2046
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
1967
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2047
+ # @param params [Hash] Optional query string parameters:
1968
2048
  #
1969
2049
  # @return [Resources::Invoice] An invoice.
1970
2050
  # @example
@@ -1984,11 +2064,11 @@ module Recurly
1984
2064
 
1985
2065
  # Update an invoice
1986
2066
  #
1987
- # {https://developers.recurly.com/api/v2019-10-10#operation/put_invoice put_invoice api documenation}
2067
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_invoice update_invoice api documenation}
1988
2068
  #
1989
2069
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
1990
- # @param body [Requests::InvoiceUpdatable] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceUpdatable}
1991
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2070
+ # @param body [Requests::InvoiceUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceUpdate}
2071
+ # @param params [Hash] Optional query string parameters:
1992
2072
  #
1993
2073
  # @return [Resources::Invoice] An invoice.
1994
2074
  # @example
@@ -1997,7 +2077,7 @@ module Recurly
1997
2077
  # customer_notes: "New Notes",
1998
2078
  # terms_and_conditions: "New Terms and Conditions"
1999
2079
  # }
2000
- # invoice = @client.put_invoice(invoice_id: invoice_id, body: invoice_update)
2080
+ # invoice = @client.update_invoice(invoice_id: invoice_id, body: invoice_update)
2001
2081
  # puts "Updated invoice #{invoice}"
2002
2082
  # rescue Recurly::Errors::NotFoundError
2003
2083
  # # If the resource was not found, you may want to alert the user or
@@ -2005,17 +2085,17 @@ module Recurly
2005
2085
  # puts "Resource Not Found"
2006
2086
  # end
2007
2087
  #
2008
- def put_invoice(invoice_id:, body:, **options)
2088
+ def update_invoice(invoice_id:, body:, **options)
2009
2089
  path = interpolate_path("/invoices/{invoice_id}", invoice_id: invoice_id)
2010
- put(path, body, Requests::InvoiceUpdatable, **options)
2090
+ put(path, body, Requests::InvoiceUpdate, **options)
2011
2091
  end
2012
2092
 
2013
2093
  # Fetch an invoice as a PDF
2014
2094
  #
2015
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_invoice_pdf get_invoice_pdf api documenation}
2095
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_invoice_pdf get_invoice_pdf api documenation}
2016
2096
  #
2017
2097
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2018
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2098
+ # @param params [Hash] Optional query string parameters:
2019
2099
  #
2020
2100
  # @return [Resources::BinaryFile] An invoice as a PDF.
2021
2101
  # @example
@@ -2038,11 +2118,11 @@ module Recurly
2038
2118
 
2039
2119
  # Collect a pending or past due, automatic invoice
2040
2120
  #
2041
- # {https://developers.recurly.com/api/v2019-10-10#operation/collect_invoice collect_invoice api documenation}
2121
+ # {https://developers.recurly.com/api/v2021-02-25#operation/collect_invoice collect_invoice api documenation}
2042
2122
  #
2043
2123
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2044
- # @param body [Requests::InvoiceCollect] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceCollect}
2045
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2124
+ # @param params [Hash] Optional query string parameters:
2125
+ # :body [Requests::InvoiceCollect] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceCollect}
2046
2126
  #
2047
2127
  # @return [Resources::Invoice] The updated invoice.
2048
2128
  # @example
@@ -2062,15 +2142,15 @@ module Recurly
2062
2142
 
2063
2143
  # Mark an open invoice as failed
2064
2144
  #
2065
- # {https://developers.recurly.com/api/v2019-10-10#operation/fail_invoice fail_invoice api documenation}
2145
+ # {https://developers.recurly.com/api/v2021-02-25#operation/mark_invoice_failed mark_invoice_failed api documenation}
2066
2146
  #
2067
2147
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2068
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2148
+ # @param params [Hash] Optional query string parameters:
2069
2149
  #
2070
2150
  # @return [Resources::Invoice] The updated invoice.
2071
2151
  # @example
2072
2152
  # begin
2073
- # invoice = @client.fail_invoice(invoice_id: invoice_id)
2153
+ # invoice = @client.mark_invoice_failed(invoice_id: invoice_id)
2074
2154
  # puts "Failed invoice #{invoice}"
2075
2155
  # rescue Recurly::Errors::NotFoundError
2076
2156
  # # If the resource was not found, you may want to alert the user or
@@ -2078,17 +2158,17 @@ module Recurly
2078
2158
  # puts "Resource Not Found"
2079
2159
  # end
2080
2160
  #
2081
- def fail_invoice(invoice_id:, **options)
2161
+ def mark_invoice_failed(invoice_id:, **options)
2082
2162
  path = interpolate_path("/invoices/{invoice_id}/mark_failed", invoice_id: invoice_id)
2083
2163
  put(path, **options)
2084
2164
  end
2085
2165
 
2086
2166
  # Mark an open invoice as successful
2087
2167
  #
2088
- # {https://developers.recurly.com/api/v2019-10-10#operation/mark_invoice_successful mark_invoice_successful api documenation}
2168
+ # {https://developers.recurly.com/api/v2021-02-25#operation/mark_invoice_successful mark_invoice_successful api documenation}
2089
2169
  #
2090
2170
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2091
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2171
+ # @param params [Hash] Optional query string parameters:
2092
2172
  #
2093
2173
  # @return [Resources::Invoice] The updated invoice.
2094
2174
  # @example
@@ -2108,10 +2188,10 @@ module Recurly
2108
2188
 
2109
2189
  # Reopen a closed, manual invoice
2110
2190
  #
2111
- # {https://developers.recurly.com/api/v2019-10-10#operation/reopen_invoice reopen_invoice api documenation}
2191
+ # {https://developers.recurly.com/api/v2021-02-25#operation/reopen_invoice reopen_invoice api documenation}
2112
2192
  #
2113
2193
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2114
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2194
+ # @param params [Hash] Optional query string parameters:
2115
2195
  #
2116
2196
  # @return [Resources::Invoice] The updated invoice.
2117
2197
  # @example
@@ -2131,10 +2211,10 @@ module Recurly
2131
2211
 
2132
2212
  # Void a credit invoice.
2133
2213
  #
2134
- # {https://developers.recurly.com/api/v2019-10-10#operation/void_invoice void_invoice api documenation}
2214
+ # {https://developers.recurly.com/api/v2021-02-25#operation/void_invoice void_invoice api documenation}
2135
2215
  #
2136
2216
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2137
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2217
+ # @param params [Hash] Optional query string parameters:
2138
2218
  #
2139
2219
  # @return [Resources::Invoice] The updated invoice.
2140
2220
  # @example
@@ -2154,11 +2234,11 @@ module Recurly
2154
2234
 
2155
2235
  # Record an external payment for a manual invoices.
2156
2236
  #
2157
- # {https://developers.recurly.com/api/v2019-10-10#operation/record_external_transaction record_external_transaction api documenation}
2237
+ # {https://developers.recurly.com/api/v2021-02-25#operation/record_external_transaction record_external_transaction api documenation}
2158
2238
  #
2159
2239
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2160
2240
  # @param body [Requests::ExternalTransaction] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalTransaction}
2161
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2241
+ # @param params [Hash] Optional query string parameters:
2162
2242
  #
2163
2243
  # @return [Resources::Transaction] The recorded transaction.
2164
2244
  #
@@ -2169,10 +2249,11 @@ module Recurly
2169
2249
 
2170
2250
  # List an invoice's line items
2171
2251
  #
2172
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_invoice_line_items list_invoice_line_items api documenation}
2252
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_invoice_line_items list_invoice_line_items api documenation}
2173
2253
  #
2174
2254
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2175
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2255
+ # @param params [Hash] Optional query string parameters:
2256
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2176
2257
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
2177
2258
  #
2178
2259
  # *Important notes:*
@@ -2184,28 +2265,30 @@ module Recurly
2184
2265
  # * Records are returned in an arbitrary order. Since results are all
2185
2266
  # returned at once you can sort the records yourself.
2186
2267
  #
2187
- # @param limit [Integer] Limit number of records 1-200.
2188
- # @param order [String] Sort order.
2189
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2268
+ # :limit [Integer] Limit number of records 1-200.
2269
+ # :order [String] Sort order.
2270
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2190
2271
  # order. In descending order updated records will move behind the cursor and could
2191
2272
  # prevent some records from being returned.
2192
2273
  #
2193
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2274
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2194
2275
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2195
2276
  #
2196
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2277
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2197
2278
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2198
2279
  #
2199
- # @param original [String] Filter by original field.
2200
- # @param state [String] Filter by state field.
2201
- # @param type [String] Filter by type field.
2202
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2280
+ # :original [String] Filter by original field.
2281
+ # :state [String] Filter by state field.
2282
+ # :type [String] Filter by type field.
2203
2283
  #
2204
2284
  # @return [Pager<Resources::LineItem>] A list of the invoice's line items.
2205
2285
  # @example
2286
+ # params = {
2287
+ # limit: 200
2288
+ # }
2206
2289
  # line_items = @client.list_invoice_line_items(
2207
2290
  # invoice_id: invoice_id,
2208
- # limit: 200
2291
+ # params: params
2209
2292
  # )
2210
2293
  # line_items.each do |line_item|
2211
2294
  # puts "Line Item: #{line_item.id}"
@@ -2218,10 +2301,11 @@ module Recurly
2218
2301
 
2219
2302
  # Show the coupon redemptions applied to an invoice
2220
2303
  #
2221
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_invoice_coupon_redemptions list_invoice_coupon_redemptions api documenation}
2304
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_invoice_coupon_redemptions list_invoice_coupon_redemptions api documenation}
2222
2305
  #
2223
2306
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2224
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2307
+ # @param params [Hash] Optional query string parameters:
2308
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2225
2309
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
2226
2310
  #
2227
2311
  # *Important notes:*
@@ -2233,23 +2317,25 @@ module Recurly
2233
2317
  # * Records are returned in an arbitrary order. Since results are all
2234
2318
  # returned at once you can sort the records yourself.
2235
2319
  #
2236
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2320
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2237
2321
  # order. In descending order updated records will move behind the cursor and could
2238
2322
  # prevent some records from being returned.
2239
2323
  #
2240
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2324
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2241
2325
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2242
2326
  #
2243
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2327
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2244
2328
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2245
2329
  #
2246
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2247
2330
  #
2248
2331
  # @return [Pager<Resources::CouponRedemption>] A list of the the coupon redemptions associated with the invoice.
2249
2332
  # @example
2333
+ # params = {
2334
+ # limit: 200
2335
+ # }
2250
2336
  # coupon_redemptions = @client.list_invoice_coupon_redemptions(
2251
2337
  # invoice_id: invoice_id,
2252
- # limit: 200
2338
+ # params: params
2253
2339
  # )
2254
2340
  # coupon_redemptions.each do |redemption|
2255
2341
  # puts "CouponRedemption: #{redemption.id}"
@@ -2262,16 +2348,19 @@ module Recurly
2262
2348
 
2263
2349
  # List an invoice's related credit or charge invoices
2264
2350
  #
2265
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_related_invoices list_related_invoices api documenation}
2351
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_related_invoices list_related_invoices api documenation}
2266
2352
  #
2267
2353
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2268
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2354
+ # @param params [Hash] Optional query string parameters:
2269
2355
  #
2270
2356
  # @return [Pager<Resources::Invoice>] A list of the credit or charge invoices associated with the invoice.
2271
2357
  # @example
2358
+ # params = {
2359
+ # limit: 200
2360
+ # }
2272
2361
  # invoices = @client.list_related_invoices(
2273
2362
  # invoice_id: invoice_id,
2274
- # limit: 200
2363
+ # params: params
2275
2364
  # )
2276
2365
  # invoices.each do |invoice|
2277
2366
  # puts "Invoice: #{invoice.number}"
@@ -2284,11 +2373,11 @@ module Recurly
2284
2373
 
2285
2374
  # Refund an invoice
2286
2375
  #
2287
- # {https://developers.recurly.com/api/v2019-10-10#operation/refund_invoice refund_invoice api documenation}
2376
+ # {https://developers.recurly.com/api/v2021-02-25#operation/refund_invoice refund_invoice api documenation}
2288
2377
  #
2289
2378
  # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2290
2379
  # @param body [Requests::InvoiceRefund] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceRefund}
2291
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2380
+ # @param params [Hash] Optional query string parameters:
2292
2381
  #
2293
2382
  # @return [Resources::Invoice] Returns the new credit invoice.
2294
2383
  # @example
@@ -2315,9 +2404,10 @@ module Recurly
2315
2404
 
2316
2405
  # List a site's line items
2317
2406
  #
2318
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_line_items list_line_items api documenation}
2407
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_line_items list_line_items api documenation}
2319
2408
  #
2320
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2409
+ # @param params [Hash] Optional query string parameters:
2410
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2321
2411
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
2322
2412
  #
2323
2413
  # *Important notes:*
@@ -2329,43 +2419,45 @@ module Recurly
2329
2419
  # * Records are returned in an arbitrary order. Since results are all
2330
2420
  # returned at once you can sort the records yourself.
2331
2421
  #
2332
- # @param limit [Integer] Limit number of records 1-200.
2333
- # @param order [String] Sort order.
2334
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2422
+ # :limit [Integer] Limit number of records 1-200.
2423
+ # :order [String] Sort order.
2424
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2335
2425
  # order. In descending order updated records will move behind the cursor and could
2336
2426
  # prevent some records from being returned.
2337
2427
  #
2338
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2428
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2339
2429
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2340
2430
  #
2341
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2431
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2342
2432
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2343
2433
  #
2344
- # @param original [String] Filter by original field.
2345
- # @param state [String] Filter by state field.
2346
- # @param type [String] Filter by type field.
2347
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2434
+ # :original [String] Filter by original field.
2435
+ # :state [String] Filter by state field.
2436
+ # :type [String] Filter by type field.
2348
2437
  #
2349
2438
  # @return [Pager<Resources::LineItem>] A list of the site's line items.
2350
2439
  # @example
2351
- # line_items = @client.list_line_items(
2440
+ # params = {
2352
2441
  # limit: 200
2442
+ # }
2443
+ # line_items = @client.list_line_items(
2444
+ # params: params
2353
2445
  # )
2354
2446
  # line_items.each do |line_item|
2355
2447
  # puts "LineItem: #{line_item.id}"
2356
2448
  # end
2357
2449
  #
2358
2450
  def list_line_items(**options)
2359
- path = interpolate_path("/line_items")
2451
+ path = "/line_items"
2360
2452
  pager(path, **options)
2361
2453
  end
2362
2454
 
2363
2455
  # Fetch a line item
2364
2456
  #
2365
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_line_item get_line_item api documenation}
2457
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_line_item get_line_item api documenation}
2366
2458
  #
2367
2459
  # @param line_item_id [String] Line Item ID.
2368
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2460
+ # @param params [Hash] Optional query string parameters:
2369
2461
  #
2370
2462
  # @return [Resources::LineItem] A line item.
2371
2463
  # @example
@@ -2385,10 +2477,10 @@ module Recurly
2385
2477
 
2386
2478
  # Delete an uninvoiced line item
2387
2479
  #
2388
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_line_item remove_line_item api documenation}
2480
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_line_item remove_line_item api documenation}
2389
2481
  #
2390
2482
  # @param line_item_id [String] Line Item ID.
2391
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2483
+ # @param params [Hash] Optional query string parameters:
2392
2484
  #
2393
2485
  # @return [Resources::Empty] Line item deleted.
2394
2486
  # @example
@@ -2410,9 +2502,10 @@ module Recurly
2410
2502
 
2411
2503
  # List a site's plans
2412
2504
  #
2413
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_plans list_plans api documenation}
2505
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_plans list_plans api documenation}
2414
2506
  #
2415
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2507
+ # @param params [Hash] Optional query string parameters:
2508
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2416
2509
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
2417
2510
  #
2418
2511
  # *Important notes:*
@@ -2424,39 +2517,41 @@ module Recurly
2424
2517
  # * Records are returned in an arbitrary order. Since results are all
2425
2518
  # returned at once you can sort the records yourself.
2426
2519
  #
2427
- # @param limit [Integer] Limit number of records 1-200.
2428
- # @param order [String] Sort order.
2429
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2520
+ # :limit [Integer] Limit number of records 1-200.
2521
+ # :order [String] Sort order.
2522
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2430
2523
  # order. In descending order updated records will move behind the cursor and could
2431
2524
  # prevent some records from being returned.
2432
2525
  #
2433
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2526
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2434
2527
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2435
2528
  #
2436
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2529
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2437
2530
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2438
2531
  #
2439
- # @param state [String] Filter by state.
2440
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2532
+ # :state [String] Filter by state.
2441
2533
  #
2442
2534
  # @return [Pager<Resources::Plan>] A list of plans.
2443
2535
  # @example
2444
- # plans = @client.list_plans(limit: 200)
2536
+ # params = {
2537
+ # limit: 200
2538
+ # }
2539
+ # plans = @client.list_plans(params: params)
2445
2540
  # plans.each do |plan|
2446
2541
  # puts "Plan: #{plan.code}"
2447
2542
  # end
2448
2543
  #
2449
2544
  def list_plans(**options)
2450
- path = interpolate_path("/plans")
2545
+ path = "/plans"
2451
2546
  pager(path, **options)
2452
2547
  end
2453
2548
 
2454
2549
  # Create a plan
2455
2550
  #
2456
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_plan create_plan api documenation}
2551
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_plan create_plan api documenation}
2457
2552
  #
2458
2553
  # @param body [Requests::PlanCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::PlanCreate}
2459
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2554
+ # @param params [Hash] Optional query string parameters:
2460
2555
  #
2461
2556
  # @return [Resources::Plan] A plan.
2462
2557
  # @example
@@ -2487,16 +2582,16 @@ module Recurly
2487
2582
  # end
2488
2583
  #
2489
2584
  def create_plan(body:, **options)
2490
- path = interpolate_path("/plans")
2585
+ path = "/plans"
2491
2586
  post(path, body, Requests::PlanCreate, **options)
2492
2587
  end
2493
2588
 
2494
2589
  # Fetch a plan
2495
2590
  #
2496
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_plan get_plan api documenation}
2591
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_plan get_plan api documenation}
2497
2592
  #
2498
2593
  # @param plan_id [String] Plan ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2499
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2594
+ # @param params [Hash] Optional query string parameters:
2500
2595
  #
2501
2596
  # @return [Resources::Plan] A plan.
2502
2597
  # @example
@@ -2516,11 +2611,11 @@ module Recurly
2516
2611
 
2517
2612
  # Update a plan
2518
2613
  #
2519
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_plan update_plan api documenation}
2614
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_plan update_plan api documenation}
2520
2615
  #
2521
2616
  # @param plan_id [String] Plan ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2522
2617
  # @param body [Requests::PlanUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::PlanUpdate}
2523
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2618
+ # @param params [Hash] Optional query string parameters:
2524
2619
  #
2525
2620
  # @return [Resources::Plan] A plan.
2526
2621
  # @example
@@ -2543,10 +2638,10 @@ module Recurly
2543
2638
 
2544
2639
  # Remove a plan
2545
2640
  #
2546
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_plan remove_plan api documenation}
2641
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_plan remove_plan api documenation}
2547
2642
  #
2548
2643
  # @param plan_id [String] Plan ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2549
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2644
+ # @param params [Hash] Optional query string parameters:
2550
2645
  #
2551
2646
  # @return [Resources::Plan] Plan deleted
2552
2647
  # @example
@@ -2566,10 +2661,11 @@ module Recurly
2566
2661
 
2567
2662
  # List a plan's add-ons
2568
2663
  #
2569
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_plan_add_ons list_plan_add_ons api documenation}
2664
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_plan_add_ons list_plan_add_ons api documenation}
2570
2665
  #
2571
2666
  # @param plan_id [String] Plan ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2572
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2667
+ # @param params [Hash] Optional query string parameters:
2668
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2573
2669
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
2574
2670
  #
2575
2671
  # *Important notes:*
@@ -2581,26 +2677,28 @@ module Recurly
2581
2677
  # * Records are returned in an arbitrary order. Since results are all
2582
2678
  # returned at once you can sort the records yourself.
2583
2679
  #
2584
- # @param limit [Integer] Limit number of records 1-200.
2585
- # @param order [String] Sort order.
2586
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2680
+ # :limit [Integer] Limit number of records 1-200.
2681
+ # :order [String] Sort order.
2682
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2587
2683
  # order. In descending order updated records will move behind the cursor and could
2588
2684
  # prevent some records from being returned.
2589
2685
  #
2590
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2686
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2591
2687
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2592
2688
  #
2593
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2689
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2594
2690
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2595
2691
  #
2596
- # @param state [String] Filter by state.
2597
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2692
+ # :state [String] Filter by state.
2598
2693
  #
2599
2694
  # @return [Pager<Resources::AddOn>] A list of add-ons.
2600
2695
  # @example
2696
+ # params = {
2697
+ # limit: 200
2698
+ # }
2601
2699
  # add_ons = @client.list_plan_add_ons(
2602
2700
  # plan_id: plan_id,
2603
- # limit: 200
2701
+ # params: params
2604
2702
  # )
2605
2703
  # add_ons.each do |add_on|
2606
2704
  # puts "AddOn: #{add_on.code}"
@@ -2613,11 +2711,11 @@ module Recurly
2613
2711
 
2614
2712
  # Create an add-on
2615
2713
  #
2616
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_plan_add_on create_plan_add_on api documenation}
2714
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_plan_add_on create_plan_add_on api documenation}
2617
2715
  #
2618
2716
  # @param plan_id [String] Plan ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2619
2717
  # @param body [Requests::AddOnCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AddOnCreate}
2620
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2718
+ # @param params [Hash] Optional query string parameters:
2621
2719
  #
2622
2720
  # @return [Resources::AddOn] An add-on.
2623
2721
  # @example
@@ -2648,11 +2746,11 @@ module Recurly
2648
2746
 
2649
2747
  # Fetch a plan's add-on
2650
2748
  #
2651
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_plan_add_on get_plan_add_on api documenation}
2749
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_plan_add_on get_plan_add_on api documenation}
2652
2750
  #
2653
2751
  # @param plan_id [String] Plan ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2654
2752
  # @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2655
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2753
+ # @param params [Hash] Optional query string parameters:
2656
2754
  #
2657
2755
  # @return [Resources::AddOn] An add-on.
2658
2756
  # @example
@@ -2674,12 +2772,12 @@ module Recurly
2674
2772
 
2675
2773
  # Update an add-on
2676
2774
  #
2677
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_plan_add_on update_plan_add_on api documenation}
2775
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_plan_add_on update_plan_add_on api documenation}
2678
2776
  #
2679
2777
  # @param plan_id [String] Plan ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2680
2778
  # @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2681
2779
  # @param body [Requests::AddOnUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AddOnUpdate}
2682
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2780
+ # @param params [Hash] Optional query string parameters:
2683
2781
  #
2684
2782
  # @return [Resources::AddOn] An add-on.
2685
2783
  # @example
@@ -2706,11 +2804,11 @@ module Recurly
2706
2804
 
2707
2805
  # Remove an add-on
2708
2806
  #
2709
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_plan_add_on remove_plan_add_on api documenation}
2807
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_plan_add_on remove_plan_add_on api documenation}
2710
2808
  #
2711
2809
  # @param plan_id [String] Plan ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2712
2810
  # @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2713
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2811
+ # @param params [Hash] Optional query string parameters:
2714
2812
  #
2715
2813
  # @return [Resources::AddOn] Add-on deleted
2716
2814
  # @example
@@ -2733,9 +2831,10 @@ module Recurly
2733
2831
 
2734
2832
  # List a site's add-ons
2735
2833
  #
2736
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_add_ons list_add_ons api documenation}
2834
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_add_ons list_add_ons api documenation}
2737
2835
  #
2738
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2836
+ # @param params [Hash] Optional query string parameters:
2837
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2739
2838
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
2740
2839
  #
2741
2840
  # *Important notes:*
@@ -2747,41 +2846,43 @@ module Recurly
2747
2846
  # * Records are returned in an arbitrary order. Since results are all
2748
2847
  # returned at once you can sort the records yourself.
2749
2848
  #
2750
- # @param limit [Integer] Limit number of records 1-200.
2751
- # @param order [String] Sort order.
2752
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2849
+ # :limit [Integer] Limit number of records 1-200.
2850
+ # :order [String] Sort order.
2851
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2753
2852
  # order. In descending order updated records will move behind the cursor and could
2754
2853
  # prevent some records from being returned.
2755
2854
  #
2756
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2855
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2757
2856
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2758
2857
  #
2759
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2858
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2760
2859
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2761
2860
  #
2762
- # @param state [String] Filter by state.
2763
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2861
+ # :state [String] Filter by state.
2764
2862
  #
2765
2863
  # @return [Pager<Resources::AddOn>] A list of add-ons.
2766
2864
  # @example
2767
- # add_ons = @client.list_add_ons(
2865
+ # params = {
2768
2866
  # limit: 200
2867
+ # }
2868
+ # add_ons = @client.list_add_ons(
2869
+ # params: params
2769
2870
  # )
2770
2871
  # add_ons.each do |add_on|
2771
2872
  # puts "AddOn: #{add_on.code}"
2772
2873
  # end
2773
2874
  #
2774
2875
  def list_add_ons(**options)
2775
- path = interpolate_path("/add_ons")
2876
+ path = "/add_ons"
2776
2877
  pager(path, **options)
2777
2878
  end
2778
2879
 
2779
2880
  # Fetch an add-on
2780
2881
  #
2781
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_add_on get_add_on api documenation}
2882
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_add_on get_add_on api documenation}
2782
2883
  #
2783
2884
  # @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
2784
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2885
+ # @param params [Hash] Optional query string parameters:
2785
2886
  #
2786
2887
  # @return [Resources::AddOn] An add-on.
2787
2888
  # @example
@@ -2801,9 +2902,10 @@ module Recurly
2801
2902
 
2802
2903
  # List a site's shipping methods
2803
2904
  #
2804
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_shipping_methods list_shipping_methods api documenation}
2905
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_shipping_methods list_shipping_methods api documenation}
2805
2906
  #
2806
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2907
+ # @param params [Hash] Optional query string parameters:
2908
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2807
2909
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
2808
2910
  #
2809
2911
  # *Important notes:*
@@ -2815,69 +2917,71 @@ module Recurly
2815
2917
  # * Records are returned in an arbitrary order. Since results are all
2816
2918
  # returned at once you can sort the records yourself.
2817
2919
  #
2818
- # @param limit [Integer] Limit number of records 1-200.
2819
- # @param order [String] Sort order.
2820
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2920
+ # :limit [Integer] Limit number of records 1-200.
2921
+ # :order [String] Sort order.
2922
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2821
2923
  # order. In descending order updated records will move behind the cursor and could
2822
2924
  # prevent some records from being returned.
2823
2925
  #
2824
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2926
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2825
2927
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2826
2928
  #
2827
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2929
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2828
2930
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2829
2931
  #
2830
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2831
2932
  #
2832
2933
  # @return [Pager<Resources::ShippingMethod>] A list of the site's shipping methods.
2833
2934
  # @example
2834
- # shipping_methods = @client.list_shipping_methods(
2935
+ # params = {
2835
2936
  # limit: 200
2937
+ # }
2938
+ # shipping_methods = @client.list_shipping_methods(
2939
+ # params: params
2836
2940
  # )
2837
2941
  # shipping_methods.each do |shipping_method|
2838
2942
  # puts "Shipping Method: #{shipping_method.code}"
2839
2943
  # end
2840
2944
  #
2841
2945
  def list_shipping_methods(**options)
2842
- path = interpolate_path("/shipping_methods")
2946
+ path = "/shipping_methods"
2843
2947
  pager(path, **options)
2844
2948
  end
2845
2949
 
2846
2950
  # Create a new shipping method
2847
2951
  #
2848
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_shipping_method create_shipping_method api documenation}
2952
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_shipping_method create_shipping_method api documenation}
2849
2953
  #
2850
2954
  # @param body [Requests::ShippingMethodCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ShippingMethodCreate}
2851
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2955
+ # @param params [Hash] Optional query string parameters:
2852
2956
  #
2853
2957
  # @return [Resources::ShippingMethod] A new shipping method.
2854
2958
  #
2855
2959
  def create_shipping_method(body:, **options)
2856
- path = interpolate_path("/shipping_methods")
2960
+ path = "/shipping_methods"
2857
2961
  post(path, body, Requests::ShippingMethodCreate, **options)
2858
2962
  end
2859
2963
 
2860
2964
  # Fetch a shipping method
2861
2965
  #
2862
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_shipping_method get_shipping_method api documenation}
2966
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_shipping_method get_shipping_method api documenation}
2863
2967
  #
2864
- # @param id [String] Shipping Method ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-usps_2-day+.
2865
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2968
+ # @param shipping_method_id [String] Shipping Method ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-usps_2-day+.
2969
+ # @param params [Hash] Optional query string parameters:
2866
2970
  #
2867
2971
  # @return [Resources::ShippingMethod] A shipping method.
2868
2972
  #
2869
- def get_shipping_method(id:, **options)
2870
- path = interpolate_path("/shipping_methods/{id}", id: id)
2973
+ def get_shipping_method(shipping_method_id:, **options)
2974
+ path = interpolate_path("/shipping_methods/{shipping_method_id}", shipping_method_id: shipping_method_id)
2871
2975
  get(path, **options)
2872
2976
  end
2873
2977
 
2874
2978
  # Update an active Shipping Method
2875
2979
  #
2876
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_shipping_method update_shipping_method api documenation}
2980
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_shipping_method update_shipping_method api documenation}
2877
2981
  #
2878
2982
  # @param shipping_method_id [String] Shipping Method ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-usps_2-day+.
2879
2983
  # @param body [Requests::ShippingMethodUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ShippingMethodUpdate}
2880
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2984
+ # @param params [Hash] Optional query string parameters:
2881
2985
  #
2882
2986
  # @return [Resources::ShippingMethod] The updated shipping method.
2883
2987
  #
@@ -2888,10 +2992,10 @@ module Recurly
2888
2992
 
2889
2993
  # Deactivate a shipping method
2890
2994
  #
2891
- # {https://developers.recurly.com/api/v2019-10-10#operation/deactivate_shipping_method deactivate_shipping_method api documenation}
2995
+ # {https://developers.recurly.com/api/v2021-02-25#operation/deactivate_shipping_method deactivate_shipping_method api documenation}
2892
2996
  #
2893
2997
  # @param shipping_method_id [String] Shipping Method ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-usps_2-day+.
2894
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2998
+ # @param params [Hash] Optional query string parameters:
2895
2999
  #
2896
3000
  # @return [Resources::ShippingMethod] A shipping method.
2897
3001
  #
@@ -2902,9 +3006,10 @@ module Recurly
2902
3006
 
2903
3007
  # List a site's subscriptions
2904
3008
  #
2905
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_subscriptions list_subscriptions api documenation}
3009
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_subscriptions list_subscriptions api documenation}
2906
3010
  #
2907
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3011
+ # @param params [Hash] Optional query string parameters:
3012
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2908
3013
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
2909
3014
  #
2910
3015
  # *Important notes:*
@@ -2916,44 +3021,46 @@ module Recurly
2916
3021
  # * Records are returned in an arbitrary order. Since results are all
2917
3022
  # returned at once you can sort the records yourself.
2918
3023
  #
2919
- # @param limit [Integer] Limit number of records 1-200.
2920
- # @param order [String] Sort order.
2921
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
3024
+ # :limit [Integer] Limit number of records 1-200.
3025
+ # :order [String] Sort order.
3026
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2922
3027
  # order. In descending order updated records will move behind the cursor and could
2923
3028
  # prevent some records from being returned.
2924
3029
  #
2925
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
3030
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
2926
3031
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2927
3032
  #
2928
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
3033
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
2929
3034
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
2930
3035
  #
2931
- # @param state [String] Filter by state.
3036
+ # :state [String] Filter by state.
2932
3037
  #
2933
3038
  # - When +state=active+, +state=canceled+, +state=expired+, or +state=future+, subscriptions with states that match the query and only those subscriptions will be returned.
2934
3039
  # - When +state=in_trial+, only subscriptions that have a trial_started_at date earlier than now and a trial_ends_at date later than now will be returned.
2935
3040
  # - When +state=live+, only subscriptions that are in an active, canceled, or future state or are in trial will be returned.
2936
3041
  #
2937
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2938
3042
  #
2939
3043
  # @return [Pager<Resources::Subscription>] A list of the site's subscriptions.
2940
3044
  # @example
2941
- # subscriptions = @client.list_subscriptions(limit: 200)
3045
+ # params = {
3046
+ # limit: 200
3047
+ # }
3048
+ # subscriptions = @client.list_subscriptions(params: params)
2942
3049
  # subscriptions.each do |subscription|
2943
3050
  # puts "Subscription: #{subscription.uuid}"
2944
3051
  # end
2945
3052
  #
2946
3053
  def list_subscriptions(**options)
2947
- path = interpolate_path("/subscriptions")
3054
+ path = "/subscriptions"
2948
3055
  pager(path, **options)
2949
3056
  end
2950
3057
 
2951
3058
  # Create a new subscription
2952
3059
  #
2953
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_subscription create_subscription api documenation}
3060
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_subscription create_subscription api documenation}
2954
3061
  #
2955
3062
  # @param body [Requests::SubscriptionCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionCreate}
2956
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3063
+ # @param params [Hash] Optional query string parameters:
2957
3064
  #
2958
3065
  # @return [Resources::Subscription] A subscription.
2959
3066
  # @example
@@ -2961,8 +3068,7 @@ module Recurly
2961
3068
  # subscription_create = {
2962
3069
  # plan_code: plan_code,
2963
3070
  # currency: "USD",
2964
- # # This can be an existing account or
2965
- # # a new acocunt
3071
+ # # This can be an existing account or a new account
2966
3072
  # account: {
2967
3073
  # code: account_code,
2968
3074
  # }
@@ -2978,16 +3084,16 @@ module Recurly
2978
3084
  # end
2979
3085
  #
2980
3086
  def create_subscription(body:, **options)
2981
- path = interpolate_path("/subscriptions")
3087
+ path = "/subscriptions"
2982
3088
  post(path, body, Requests::SubscriptionCreate, **options)
2983
3089
  end
2984
3090
 
2985
3091
  # Fetch a subscription
2986
3092
  #
2987
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_subscription get_subscription api documenation}
3093
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_subscription get_subscription api documenation}
2988
3094
  #
2989
3095
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
2990
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3096
+ # @param params [Hash] Optional query string parameters:
2991
3097
  #
2992
3098
  # @return [Resources::Subscription] A subscription.
2993
3099
  # @example
@@ -3007,13 +3113,13 @@ module Recurly
3007
3113
  get(path, **options)
3008
3114
  end
3009
3115
 
3010
- # Modify a subscription
3116
+ # Update a subscription
3011
3117
  #
3012
- # {https://developers.recurly.com/api/v2019-10-10#operation/modify_subscription modify_subscription api documenation}
3118
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_subscription update_subscription api documenation}
3013
3119
  #
3014
3120
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3015
3121
  # @param body [Requests::SubscriptionUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionUpdate}
3016
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3122
+ # @param params [Hash] Optional query string parameters:
3017
3123
  #
3018
3124
  # @return [Resources::Subscription] A subscription.
3019
3125
  # @example
@@ -3022,7 +3128,7 @@ module Recurly
3022
3128
  # customer_notes: "New Notes",
3023
3129
  # terms_and_conditions: "New ToC"
3024
3130
  # }
3025
- # subscription = @client.modify_subscription(
3131
+ # subscription = @client.update_subscription(
3026
3132
  # subscription_id: subscription_id,
3027
3133
  # body: subscription_update
3028
3134
  # )
@@ -3033,17 +3139,18 @@ module Recurly
3033
3139
  # puts "ValidationError: #{e.recurly_error.params}"
3034
3140
  # end
3035
3141
  #
3036
- def modify_subscription(subscription_id:, body:, **options)
3142
+ def update_subscription(subscription_id:, body:, **options)
3037
3143
  path = interpolate_path("/subscriptions/{subscription_id}", subscription_id: subscription_id)
3038
3144
  put(path, body, Requests::SubscriptionUpdate, **options)
3039
3145
  end
3040
3146
 
3041
3147
  # Terminate a subscription
3042
3148
  #
3043
- # {https://developers.recurly.com/api/v2019-10-10#operation/terminate_subscription terminate_subscription api documenation}
3149
+ # {https://developers.recurly.com/api/v2021-02-25#operation/terminate_subscription terminate_subscription api documenation}
3044
3150
  #
3045
3151
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3046
- # @param refund [String] The type of refund to perform:
3152
+ # @param params [Hash] Optional query string parameters:
3153
+ # :refund [String] The type of refund to perform:
3047
3154
  #
3048
3155
  # * +full+ - Performs a full refund of the last invoice for the current subscription term.
3049
3156
  # * +partial+ - Prorates a refund based on the amount of time remaining in the current bill cycle.
@@ -3053,8 +3160,7 @@ module Recurly
3053
3160
  #
3054
3161
  # You may also terminate a subscription with no refund and then manually refund specific invoices.
3055
3162
  #
3056
- # @param charge [Boolean] Applicable only if the subscription has usage based add-ons and unbilled usage logged for the current billing cycle. If true, current billing cycle unbilled usage is billed on the final invoice. If false, Recurly will create a negative usage record for current billing cycle usage that will zero out the final invoice line items.
3057
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3163
+ # :charge [Boolean] Applicable only if the subscription has usage based add-ons and unbilled usage logged for the current billing cycle. If true, current billing cycle unbilled usage is billed on the final invoice. If false, Recurly will create a negative usage record for current billing cycle usage that will zero out the final invoice line items.
3058
3164
  #
3059
3165
  # @return [Resources::Subscription] An expired subscription.
3060
3166
  # @example
@@ -3076,11 +3182,11 @@ module Recurly
3076
3182
 
3077
3183
  # Cancel a subscription
3078
3184
  #
3079
- # {https://developers.recurly.com/api/v2019-10-10#operation/cancel_subscription cancel_subscription api documenation}
3185
+ # {https://developers.recurly.com/api/v2021-02-25#operation/cancel_subscription cancel_subscription api documenation}
3080
3186
  #
3081
3187
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3082
- # @param body [Requests::SubscriptionCancel] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionCancel}
3083
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3188
+ # @param params [Hash] Optional query string parameters:
3189
+ # :body [Requests::SubscriptionCancel] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionCancel}
3084
3190
  #
3085
3191
  # @return [Resources::Subscription] A canceled or failed subscription.
3086
3192
  # @example
@@ -3102,10 +3208,10 @@ module Recurly
3102
3208
 
3103
3209
  # Reactivate a canceled subscription
3104
3210
  #
3105
- # {https://developers.recurly.com/api/v2019-10-10#operation/reactivate_subscription reactivate_subscription api documenation}
3211
+ # {https://developers.recurly.com/api/v2021-02-25#operation/reactivate_subscription reactivate_subscription api documenation}
3106
3212
  #
3107
3213
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3108
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3214
+ # @param params [Hash] Optional query string parameters:
3109
3215
  #
3110
3216
  # @return [Resources::Subscription] An active subscription.
3111
3217
  # @example
@@ -3127,11 +3233,11 @@ module Recurly
3127
3233
 
3128
3234
  # Pause subscription
3129
3235
  #
3130
- # {https://developers.recurly.com/api/v2019-10-10#operation/pause_subscription pause_subscription api documenation}
3236
+ # {https://developers.recurly.com/api/v2021-02-25#operation/pause_subscription pause_subscription api documenation}
3131
3237
  #
3132
3238
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3133
3239
  # @param body [Requests::SubscriptionPause] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionPause}
3134
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3240
+ # @param params [Hash] Optional query string parameters:
3135
3241
  #
3136
3242
  # @return [Resources::Subscription] A subscription.
3137
3243
  # @example
@@ -3157,10 +3263,10 @@ module Recurly
3157
3263
 
3158
3264
  # Resume subscription
3159
3265
  #
3160
- # {https://developers.recurly.com/api/v2019-10-10#operation/resume_subscription resume_subscription api documenation}
3266
+ # {https://developers.recurly.com/api/v2021-02-25#operation/resume_subscription resume_subscription api documenation}
3161
3267
  #
3162
3268
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3163
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3269
+ # @param params [Hash] Optional query string parameters:
3164
3270
  #
3165
3271
  # @return [Resources::Subscription] A subscription.
3166
3272
  # @example
@@ -3182,10 +3288,10 @@ module Recurly
3182
3288
 
3183
3289
  # Convert trial subscription
3184
3290
  #
3185
- # {https://developers.recurly.com/api/v2019-10-10#operation/convert_trial convert_trial api documenation}
3291
+ # {https://developers.recurly.com/api/v2021-02-25#operation/convert_trial convert_trial api documenation}
3186
3292
  #
3187
3293
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3188
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3294
+ # @param params [Hash] Optional query string parameters:
3189
3295
  #
3190
3296
  # @return [Resources::Subscription] A subscription.
3191
3297
  #
@@ -3196,10 +3302,10 @@ module Recurly
3196
3302
 
3197
3303
  # Fetch a subscription's pending change
3198
3304
  #
3199
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_subscription_change get_subscription_change api documenation}
3305
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_subscription_change get_subscription_change api documenation}
3200
3306
  #
3201
3307
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3202
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3308
+ # @param params [Hash] Optional query string parameters:
3203
3309
  #
3204
3310
  # @return [Resources::SubscriptionChange] A subscription's pending change.
3205
3311
  # @example
@@ -3221,11 +3327,11 @@ module Recurly
3221
3327
 
3222
3328
  # Create a new subscription change
3223
3329
  #
3224
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_subscription_change create_subscription_change api documenation}
3330
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_subscription_change create_subscription_change api documenation}
3225
3331
  #
3226
3332
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3227
3333
  # @param body [Requests::SubscriptionChangeCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionChangeCreate}
3228
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3334
+ # @param params [Hash] Optional query string parameters:
3229
3335
  #
3230
3336
  # @return [Resources::SubscriptionChange] A subscription change.
3231
3337
  # @example
@@ -3252,10 +3358,10 @@ module Recurly
3252
3358
 
3253
3359
  # Delete the pending subscription change
3254
3360
  #
3255
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_subscription_change remove_subscription_change api documenation}
3361
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_subscription_change remove_subscription_change api documenation}
3256
3362
  #
3257
3363
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3258
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3364
+ # @param params [Hash] Optional query string parameters:
3259
3365
  #
3260
3366
  # @return [Resources::Empty] Subscription change was deleted.
3261
3367
  # @example
@@ -3277,13 +3383,13 @@ module Recurly
3277
3383
 
3278
3384
  # Preview a new subscription change
3279
3385
  #
3280
- # {https://developers.recurly.com/api/v2019-10-10#operation/preview_subscription_change preview_subscription_change api documenation}
3386
+ # {https://developers.recurly.com/api/v2021-02-25#operation/preview_subscription_change preview_subscription_change api documenation}
3281
3387
  #
3282
3388
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3283
3389
  # @param body [Requests::SubscriptionChangeCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionChangeCreate}
3284
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3390
+ # @param params [Hash] Optional query string parameters:
3285
3391
  #
3286
- # @return [Resources::SubscriptionChangePreview] A subscription change.
3392
+ # @return [Resources::SubscriptionChange] A subscription change.
3287
3393
  #
3288
3394
  def preview_subscription_change(subscription_id:, body:, **options)
3289
3395
  path = interpolate_path("/subscriptions/{subscription_id}/change/preview", subscription_id: subscription_id)
@@ -3292,10 +3398,11 @@ module Recurly
3292
3398
 
3293
3399
  # List a subscription's invoices
3294
3400
  #
3295
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_subscription_invoices list_subscription_invoices api documenation}
3401
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_subscription_invoices list_subscription_invoices api documenation}
3296
3402
  #
3297
3403
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3298
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3404
+ # @param params [Hash] Optional query string parameters:
3405
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3299
3406
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
3300
3407
  #
3301
3408
  # *Important notes:*
@@ -3307,31 +3414,33 @@ module Recurly
3307
3414
  # * Records are returned in an arbitrary order. Since results are all
3308
3415
  # returned at once you can sort the records yourself.
3309
3416
  #
3310
- # @param limit [Integer] Limit number of records 1-200.
3311
- # @param order [String] Sort order.
3312
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
3417
+ # :limit [Integer] Limit number of records 1-200.
3418
+ # :order [String] Sort order.
3419
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
3313
3420
  # order. In descending order updated records will move behind the cursor and could
3314
3421
  # prevent some records from being returned.
3315
3422
  #
3316
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
3423
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
3317
3424
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
3318
3425
  #
3319
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
3426
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
3320
3427
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
3321
3428
  #
3322
- # @param type [String] Filter by type when:
3429
+ # :type [String] Filter by type when:
3323
3430
  # - +type=charge+, only charge invoices will be returned.
3324
3431
  # - +type=credit+, only credit invoices will be returned.
3325
3432
  # - +type=non-legacy+, only charge and credit invoices will be returned.
3326
3433
  # - +type=legacy+, only legacy invoices will be returned.
3327
3434
  #
3328
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3329
3435
  #
3330
3436
  # @return [Pager<Resources::Invoice>] A list of the subscription's invoices.
3331
3437
  # @example
3438
+ # params = {
3439
+ # limit: 200
3440
+ # }
3332
3441
  # invoices = @client.list_subscription_invoices(
3333
3442
  # subscription_id: subscription_id,
3334
- # limit: 200
3443
+ # params: params
3335
3444
  # )
3336
3445
  # invoices.each do |invoice|
3337
3446
  # puts "Invoice: #{invoice.number}"
@@ -3344,10 +3453,11 @@ module Recurly
3344
3453
 
3345
3454
  # List a subscription's line items
3346
3455
  #
3347
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_subscription_line_items list_subscription_line_items api documenation}
3456
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_subscription_line_items list_subscription_line_items api documenation}
3348
3457
  #
3349
3458
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3350
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3459
+ # @param params [Hash] Optional query string parameters:
3460
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3351
3461
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
3352
3462
  #
3353
3463
  # *Important notes:*
@@ -3359,28 +3469,30 @@ module Recurly
3359
3469
  # * Records are returned in an arbitrary order. Since results are all
3360
3470
  # returned at once you can sort the records yourself.
3361
3471
  #
3362
- # @param limit [Integer] Limit number of records 1-200.
3363
- # @param order [String] Sort order.
3364
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
3472
+ # :limit [Integer] Limit number of records 1-200.
3473
+ # :order [String] Sort order.
3474
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
3365
3475
  # order. In descending order updated records will move behind the cursor and could
3366
3476
  # prevent some records from being returned.
3367
3477
  #
3368
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
3478
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
3369
3479
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
3370
3480
  #
3371
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
3481
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
3372
3482
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
3373
3483
  #
3374
- # @param original [String] Filter by original field.
3375
- # @param state [String] Filter by state field.
3376
- # @param type [String] Filter by type field.
3377
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3484
+ # :original [String] Filter by original field.
3485
+ # :state [String] Filter by state field.
3486
+ # :type [String] Filter by type field.
3378
3487
  #
3379
3488
  # @return [Pager<Resources::LineItem>] A list of the subscription's line items.
3380
3489
  # @example
3490
+ # params = {
3491
+ # limit: 200
3492
+ # }
3381
3493
  # line_items = @client.list_subscription_line_items(
3382
3494
  # subscription_id: subscription_id,
3383
- # limit: 200
3495
+ # params: params
3384
3496
  # )
3385
3497
  # line_items.each do |line_item|
3386
3498
  # puts "LineItem: #{line_item.id}"
@@ -3393,10 +3505,11 @@ module Recurly
3393
3505
 
3394
3506
  # Show the coupon redemptions for a subscription
3395
3507
  #
3396
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_subscription_coupon_redemptions list_subscription_coupon_redemptions api documenation}
3508
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_subscription_coupon_redemptions list_subscription_coupon_redemptions api documenation}
3397
3509
  #
3398
3510
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3399
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3511
+ # @param params [Hash] Optional query string parameters:
3512
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3400
3513
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
3401
3514
  #
3402
3515
  # *Important notes:*
@@ -3408,23 +3521,25 @@ module Recurly
3408
3521
  # * Records are returned in an arbitrary order. Since results are all
3409
3522
  # returned at once you can sort the records yourself.
3410
3523
  #
3411
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
3524
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
3412
3525
  # order. In descending order updated records will move behind the cursor and could
3413
3526
  # prevent some records from being returned.
3414
3527
  #
3415
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
3528
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
3416
3529
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
3417
3530
  #
3418
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
3531
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
3419
3532
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
3420
3533
  #
3421
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3422
3534
  #
3423
3535
  # @return [Pager<Resources::CouponRedemption>] A list of the the coupon redemptions on a subscription.
3424
3536
  # @example
3537
+ # params = {
3538
+ # limit: 200
3539
+ # }
3425
3540
  # coupon_redemptions = @client.list_subscription_coupon_redemptions(
3426
3541
  # subscription_id: subscription_id,
3427
- # limit: 200
3542
+ # params: params
3428
3543
  # )
3429
3544
  # coupon_redemptions.each do |redemption|
3430
3545
  # puts "CouponRedemption: #{redemption.id}"
@@ -3437,11 +3552,12 @@ module Recurly
3437
3552
 
3438
3553
  # List a subscription add-on's usage records
3439
3554
  #
3440
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_usage list_usage api documenation}
3555
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_usage list_usage api documenation}
3441
3556
  #
3442
3557
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3443
3558
  # @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
3444
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3559
+ # @param params [Hash] Optional query string parameters:
3560
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3445
3561
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
3446
3562
  #
3447
3563
  # *Important notes:*
@@ -3453,20 +3569,19 @@ module Recurly
3453
3569
  # * Records are returned in an arbitrary order. Since results are all
3454
3570
  # returned at once you can sort the records yourself.
3455
3571
  #
3456
- # @param limit [Integer] Limit number of records 1-200.
3457
- # @param order [String] Sort order.
3458
- # @param sort [String] Sort field. You *really* only want to sort by +usage_timestamp+ in ascending
3572
+ # :limit [Integer] Limit number of records 1-200.
3573
+ # :order [String] Sort order.
3574
+ # :sort [String] Sort field. You *really* only want to sort by +usage_timestamp+ in ascending
3459
3575
  # order. In descending order updated records will move behind the cursor and could
3460
3576
  # prevent some records from being returned.
3461
3577
  #
3462
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=usage_timestamp+ or +sort=recorded_timestamp+.
3578
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=usage_timestamp+ or +sort=recorded_timestamp+.
3463
3579
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
3464
3580
  #
3465
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=usage_timestamp+ or +sort=recorded_timestamp+.
3581
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=usage_timestamp+ or +sort=recorded_timestamp+.
3466
3582
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
3467
3583
  #
3468
- # @param billing_status [String] Filter by usage record's billing status
3469
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3584
+ # :billing_status [String] Filter by usage record's billing status
3470
3585
  #
3471
3586
  # @return [Pager<Resources::Usage>] A list of the subscription add-on's usage records.
3472
3587
  #
@@ -3477,12 +3592,12 @@ module Recurly
3477
3592
 
3478
3593
  # Log a usage record on this subscription add-on
3479
3594
  #
3480
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_usage create_usage api documenation}
3595
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_usage create_usage api documenation}
3481
3596
  #
3482
3597
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3483
3598
  # @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-gold+.
3484
3599
  # @param body [Requests::UsageCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::UsageCreate}
3485
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3600
+ # @param params [Hash] Optional query string parameters:
3486
3601
  #
3487
3602
  # @return [Resources::Usage] The created usage record.
3488
3603
  #
@@ -3493,10 +3608,10 @@ module Recurly
3493
3608
 
3494
3609
  # Get a usage record
3495
3610
  #
3496
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_usage get_usage api documenation}
3611
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_usage get_usage api documenation}
3497
3612
  #
3498
3613
  # @param usage_id [String] Usage Record ID.
3499
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3614
+ # @param params [Hash] Optional query string parameters:
3500
3615
  #
3501
3616
  # @return [Resources::Usage] The usage record.
3502
3617
  #
@@ -3507,11 +3622,11 @@ module Recurly
3507
3622
 
3508
3623
  # Update a usage record
3509
3624
  #
3510
- # {https://developers.recurly.com/api/v2019-10-10#operation/update_usage update_usage api documenation}
3625
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_usage update_usage api documenation}
3511
3626
  #
3512
3627
  # @param usage_id [String] Usage Record ID.
3513
3628
  # @param body [Requests::UsageCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::UsageCreate}
3514
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3629
+ # @param params [Hash] Optional query string parameters:
3515
3630
  #
3516
3631
  # @return [Resources::Usage] The updated usage record.
3517
3632
  #
@@ -3522,10 +3637,10 @@ module Recurly
3522
3637
 
3523
3638
  # Delete a usage record.
3524
3639
  #
3525
- # {https://developers.recurly.com/api/v2019-10-10#operation/remove_usage remove_usage api documenation}
3640
+ # {https://developers.recurly.com/api/v2021-02-25#operation/remove_usage remove_usage api documenation}
3526
3641
  #
3527
3642
  # @param usage_id [String] Usage Record ID.
3528
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3643
+ # @param params [Hash] Optional query string parameters:
3529
3644
  #
3530
3645
  # @return [Resources::Empty] Usage was successfully deleted.
3531
3646
  #
@@ -3536,9 +3651,10 @@ module Recurly
3536
3651
 
3537
3652
  # List a site's transactions
3538
3653
  #
3539
- # {https://developers.recurly.com/api/v2019-10-10#operation/list_transactions list_transactions api documenation}
3654
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_transactions list_transactions api documenation}
3540
3655
  #
3541
- # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3656
+ # @param params [Hash] Optional query string parameters:
3657
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
3542
3658
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
3543
3659
  #
3544
3660
  # *Important notes:*
@@ -3550,40 +3666,42 @@ module Recurly
3550
3666
  # * Records are returned in an arbitrary order. Since results are all
3551
3667
  # returned at once you can sort the records yourself.
3552
3668
  #
3553
- # @param limit [Integer] Limit number of records 1-200.
3554
- # @param order [String] Sort order.
3555
- # @param sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
3669
+ # :limit [Integer] Limit number of records 1-200.
3670
+ # :order [String] Sort order.
3671
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
3556
3672
  # order. In descending order updated records will move behind the cursor and could
3557
3673
  # prevent some records from being returned.
3558
3674
  #
3559
- # @param begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
3675
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
3560
3676
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
3561
3677
  #
3562
- # @param end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
3678
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
3563
3679
  # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
3564
3680
  #
3565
- # @param type [String] Filter by type field. The value +payment+ will return both +purchase+ and +capture+ transactions.
3566
- # @param success [String] Filter by success field.
3567
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3681
+ # :type [String] Filter by type field. The value +payment+ will return both +purchase+ and +capture+ transactions.
3682
+ # :success [String] Filter by success field.
3568
3683
  #
3569
3684
  # @return [Pager<Resources::Transaction>] A list of the site's transactions.
3570
3685
  # @example
3571
- # transactions = @client.list_transactions(limit: 200)
3686
+ # params = {
3687
+ # limit: 200
3688
+ # }
3689
+ # transactions = @client.list_transactions(params: params)
3572
3690
  # transactions.each do |transaction|
3573
3691
  # puts "Transaction: #{transaction.uuid}"
3574
3692
  # end
3575
3693
  #
3576
3694
  def list_transactions(**options)
3577
- path = interpolate_path("/transactions")
3695
+ path = "/transactions"
3578
3696
  pager(path, **options)
3579
3697
  end
3580
3698
 
3581
3699
  # Fetch a transaction
3582
3700
  #
3583
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_transaction get_transaction api documenation}
3701
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_transaction get_transaction api documenation}
3584
3702
  #
3585
3703
  # @param transaction_id [String] Transaction ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3586
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3704
+ # @param params [Hash] Optional query string parameters:
3587
3705
  #
3588
3706
  # @return [Resources::Transaction] A transaction.
3589
3707
  # @example
@@ -3603,10 +3721,10 @@ module Recurly
3603
3721
 
3604
3722
  # Fetch a unique coupon code
3605
3723
  #
3606
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_unique_coupon_code get_unique_coupon_code api documenation}
3724
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_unique_coupon_code get_unique_coupon_code api documenation}
3607
3725
  #
3608
3726
  # @param unique_coupon_code_id [String] Unique Coupon Code ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-abc-8dh2-def+.
3609
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3727
+ # @param params [Hash] Optional query string parameters:
3610
3728
  #
3611
3729
  # @return [Resources::UniqueCouponCode] A unique coupon code.
3612
3730
  #
@@ -3617,10 +3735,10 @@ module Recurly
3617
3735
 
3618
3736
  # Deactivate a unique coupon code
3619
3737
  #
3620
- # {https://developers.recurly.com/api/v2019-10-10#operation/deactivate_unique_coupon_code deactivate_unique_coupon_code api documenation}
3738
+ # {https://developers.recurly.com/api/v2021-02-25#operation/deactivate_unique_coupon_code deactivate_unique_coupon_code api documenation}
3621
3739
  #
3622
3740
  # @param unique_coupon_code_id [String] Unique Coupon Code ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-abc-8dh2-def+.
3623
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3741
+ # @param params [Hash] Optional query string parameters:
3624
3742
  #
3625
3743
  # @return [Resources::UniqueCouponCode] A unique coupon code.
3626
3744
  #
@@ -3631,10 +3749,10 @@ module Recurly
3631
3749
 
3632
3750
  # Restore a unique coupon code
3633
3751
  #
3634
- # {https://developers.recurly.com/api/v2019-10-10#operation/reactivate_unique_coupon_code reactivate_unique_coupon_code api documenation}
3752
+ # {https://developers.recurly.com/api/v2021-02-25#operation/reactivate_unique_coupon_code reactivate_unique_coupon_code api documenation}
3635
3753
  #
3636
3754
  # @param unique_coupon_code_id [String] Unique Coupon Code ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-abc-8dh2-def+.
3637
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3755
+ # @param params [Hash] Optional query string parameters:
3638
3756
  #
3639
3757
  # @return [Resources::UniqueCouponCode] A unique coupon code.
3640
3758
  #
@@ -3645,10 +3763,10 @@ module Recurly
3645
3763
 
3646
3764
  # Create a new purchase
3647
3765
  #
3648
- # {https://developers.recurly.com/api/v2019-10-10#operation/create_purchase create_purchase api documenation}
3766
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_purchase create_purchase api documenation}
3649
3767
  #
3650
3768
  # @param body [Requests::PurchaseCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::PurchaseCreate}
3651
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3769
+ # @param params [Hash] Optional query string parameters:
3652
3770
  #
3653
3771
  # @return [Resources::InvoiceCollection] Returns the new invoices
3654
3772
  # @example
@@ -3679,16 +3797,16 @@ module Recurly
3679
3797
  # end
3680
3798
  #
3681
3799
  def create_purchase(body:, **options)
3682
- path = interpolate_path("/purchases")
3800
+ path = "/purchases"
3683
3801
  post(path, body, Requests::PurchaseCreate, **options)
3684
3802
  end
3685
3803
 
3686
3804
  # Preview a new purchase
3687
3805
  #
3688
- # {https://developers.recurly.com/api/v2019-10-10#operation/preview_purchase preview_purchase api documenation}
3806
+ # {https://developers.recurly.com/api/v2021-02-25#operation/preview_purchase preview_purchase api documenation}
3689
3807
  #
3690
3808
  # @param body [Requests::PurchaseCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::PurchaseCreate}
3691
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3809
+ # @param params [Hash] Optional query string parameters:
3692
3810
  #
3693
3811
  # @return [Resources::InvoiceCollection] Returns preview of the new invoices
3694
3812
  # @example
@@ -3719,15 +3837,15 @@ module Recurly
3719
3837
  # end
3720
3838
  #
3721
3839
  def preview_purchase(body:, **options)
3722
- path = interpolate_path("/purchases/preview")
3840
+ path = "/purchases/preview"
3723
3841
  post(path, body, Requests::PurchaseCreate, **options)
3724
3842
  end
3725
3843
 
3726
3844
  # List the dates that have an available export to download.
3727
3845
  #
3728
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_export_dates get_export_dates api documenation}
3846
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_export_dates get_export_dates api documenation}
3729
3847
  #
3730
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3848
+ # @param params [Hash] Optional query string parameters:
3731
3849
  #
3732
3850
  # @return [Resources::ExportDates] Returns a list of dates.
3733
3851
  # @example
@@ -3743,16 +3861,16 @@ module Recurly
3743
3861
  # end
3744
3862
  #
3745
3863
  def get_export_dates(**options)
3746
- path = interpolate_path("/export_dates")
3864
+ path = "/export_dates"
3747
3865
  get(path, **options)
3748
3866
  end
3749
3867
 
3750
3868
  # List of the export files that are available to download.
3751
3869
  #
3752
- # {https://developers.recurly.com/api/v2019-10-10#operation/get_export_files get_export_files api documenation}
3870
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_export_files get_export_files api documenation}
3753
3871
  #
3754
3872
  # @param export_date [String] Date for which to get a list of available automated export files. Date must be in YYYY-MM-DD format.
3755
- # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3873
+ # @param params [Hash] Optional query string parameters:
3756
3874
  #
3757
3875
  # @return [Resources::ExportFiles] Returns a list of export files to download.
3758
3876
  # @example