recurly 3.9.0 → 3.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -2
  3. data/CHANGELOG.md +65 -2
  4. data/CODE_OF_CONDUCT.md +130 -0
  5. data/CONTRIBUTING.md +4 -0
  6. data/GETTING_STARTED.md +1 -1
  7. data/README.md +3 -0
  8. data/lib/recurly/client.rb +7 -2
  9. data/lib/recurly/client/operations.rb +436 -56
  10. data/lib/recurly/errors/api_errors.rb +59 -17
  11. data/lib/recurly/requests/add_on_create.rb +29 -1
  12. data/lib/recurly/requests/add_on_update.rb +20 -0
  13. data/lib/recurly/requests/coupon_create.rb +1 -1
  14. data/lib/recurly/requests/item_create.rb +8 -0
  15. data/lib/recurly/requests/item_update.rb +8 -0
  16. data/lib/recurly/requests/line_item_create.rb +9 -1
  17. data/lib/recurly/requests/measured_unit_create.rb +22 -0
  18. data/lib/recurly/requests/measured_unit_update.rb +22 -0
  19. data/lib/recurly/requests/plan_create.rb +8 -0
  20. data/lib/recurly/requests/plan_update.rb +8 -0
  21. data/lib/recurly/requests/shipping_purchase.rb +1 -1
  22. data/lib/recurly/requests/subscription_add_on_create.rb +5 -1
  23. data/lib/recurly/requests/subscription_add_on_update.rb +4 -0
  24. data/lib/recurly/requests/subscription_change_create.rb +5 -1
  25. data/lib/recurly/requests/subscription_purchase.rb +4 -0
  26. data/lib/recurly/requests/usage_create.rb +26 -0
  27. data/lib/recurly/resources/add_on.rb +24 -0
  28. data/lib/recurly/resources/add_on_mini.rb +16 -0
  29. data/lib/recurly/resources/coupon.rb +9 -1
  30. data/lib/recurly/resources/export_dates.rb +18 -0
  31. data/lib/recurly/resources/export_file.rb +22 -0
  32. data/lib/recurly/resources/export_files.rb +18 -0
  33. data/lib/recurly/resources/item.rb +8 -0
  34. data/lib/recurly/resources/line_item.rb +8 -0
  35. data/lib/recurly/resources/measured_unit.rb +46 -0
  36. data/lib/recurly/resources/plan.rb +8 -0
  37. data/lib/recurly/resources/subscription_add_on.rb +5 -1
  38. data/lib/recurly/resources/subscription_change.rb +8 -0
  39. data/lib/recurly/resources/subscription_change_preview.rb +5 -1
  40. data/lib/recurly/resources/unique_coupon_code.rb +8 -0
  41. data/lib/recurly/resources/usage.rb +70 -0
  42. data/lib/recurly/version.rb +1 -1
  43. data/openapi/api.yaml +1559 -106
  44. metadata +15 -6
@@ -10,6 +10,10 @@ module Recurly
10
10
  # @return [String] Accounting code for invoice line items for this add-on. If no value is provided, it defaults to add-on's code.
11
11
  define_attribute :accounting_code, String
12
12
 
13
+ # @!attribute add_on_type
14
+ # @return [String] Whether the add-on type is fixed, or usage-based.
15
+ define_attribute :add_on_type, String
16
+
13
17
  # @!attribute code
14
18
  # @return [String] The unique identifier for the add-on within its plan.
15
19
  define_attribute :code, String
@@ -26,6 +30,10 @@ module Recurly
26
30
  # @return [String] Item ID
27
31
  define_attribute :item_id, String
28
32
 
33
+ # @!attribute measured_unit_id
34
+ # @return [String] System-generated unique identifier for an measured unit associated with the add-on.
35
+ define_attribute :measured_unit_id, String
36
+
29
37
  # @!attribute name
30
38
  # @return [String] Describes your add-on and will appear in subscribers' invoices.
31
39
  define_attribute :name, String
@@ -33,6 +41,14 @@ module Recurly
33
41
  # @!attribute object
34
42
  # @return [String] Object type
35
43
  define_attribute :object, String
44
+
45
+ # @!attribute usage_percentage
46
+ # @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0.
47
+ define_attribute :usage_percentage, Float
48
+
49
+ # @!attribute usage_type
50
+ # @return [String] Type of usage, returns usage type if `add_on_type` is `usage`.
51
+ define_attribute :usage_type, String
36
52
  end
37
53
  end
38
54
  end
@@ -14,6 +14,14 @@ module Recurly
14
14
  # @return [Boolean] The coupon is valid for one-time, non-plan charges if true.
15
15
  define_attribute :applies_to_non_plan_charges, :Boolean
16
16
 
17
+ # @!attribute bulk_coupon_code
18
+ # @return [String] The Coupon code of the parent Bulk Coupon
19
+ define_attribute :bulk_coupon_code, String
20
+
21
+ # @!attribute bulk_coupon_id
22
+ # @return [String] The Coupon ID of the parent Bulk Coupon
23
+ define_attribute :bulk_coupon_id, String
24
+
17
25
  # @!attribute code
18
26
  # @return [String] The code the customer enters to redeem the coupon.
19
27
  define_attribute :code, String
@@ -79,7 +87,7 @@ module Recurly
79
87
  define_attribute :plans, Array, { :item_type => :PlanMini }
80
88
 
81
89
  # @!attribute plans_names
82
- # @return [Array[String]] TODO
90
+ # @return [Array[String]] A list of plan names for which this coupon applies.
83
91
  define_attribute :plans_names, Array, { :item_type => String }
84
92
 
85
93
  # @!attribute redeem_by
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ExportDates < Resource
8
+
9
+ # @!attribute dates
10
+ # @return [Array[String]] An array of dates that have available exports.
11
+ define_attribute :dates, Array, { :item_type => String }
12
+
13
+ # @!attribute object
14
+ # @return [String] Object type
15
+ define_attribute :object, String
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ExportFile < Resource
8
+
9
+ # @!attribute href
10
+ # @return [String] A presigned link to download the export file.
11
+ define_attribute :href, String
12
+
13
+ # @!attribute md5sum
14
+ # @return [String] MD5 hash of the export file.
15
+ define_attribute :md5sum, String
16
+
17
+ # @!attribute name
18
+ # @return [String] Name of the export file.
19
+ define_attribute :name, String
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ExportFiles < Resource
8
+
9
+ # @!attribute files
10
+ # @return [Array[ExportFile]]
11
+ define_attribute :files, Array, { :item_type => :ExportFile }
12
+
13
+ # @!attribute object
14
+ # @return [String] Object type
15
+ define_attribute :object, String
16
+ end
17
+ end
18
+ end
@@ -10,6 +10,14 @@ module Recurly
10
10
  # @return [String] Accounting code for invoice line items.
11
11
  define_attribute :accounting_code, String
12
12
 
13
+ # @!attribute avalara_service_type
14
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the item is taxed. Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types.
15
+ define_attribute :avalara_service_type, Integer
16
+
17
+ # @!attribute avalara_transaction_type
18
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the item is taxed. Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types.
19
+ define_attribute :avalara_transaction_type, Integer
20
+
13
21
  # @!attribute code
14
22
  # @return [String] Unique code to identify the item.
15
23
  define_attribute :code, String
@@ -26,6 +26,14 @@ module Recurly
26
26
  # @return [Float] `(quantity * unit_amount) - (discount + tax)`
27
27
  define_attribute :amount, Float
28
28
 
29
+ # @!attribute avalara_service_type
30
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the line item is taxed. Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types.
31
+ define_attribute :avalara_service_type, Integer
32
+
33
+ # @!attribute avalara_transaction_type
34
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the line item is taxed. Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types.
35
+ define_attribute :avalara_transaction_type, Integer
36
+
29
37
  # @!attribute created_at
30
38
  # @return [DateTime] When the line item was created.
31
39
  define_attribute :created_at, DateTime
@@ -0,0 +1,46 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class MeasuredUnit < Resource
8
+
9
+ # @!attribute created_at
10
+ # @return [DateTime] Created at
11
+ define_attribute :created_at, DateTime
12
+
13
+ # @!attribute deleted_at
14
+ # @return [DateTime] Deleted at
15
+ define_attribute :deleted_at, DateTime
16
+
17
+ # @!attribute description
18
+ # @return [String] Optional internal description.
19
+ define_attribute :description, String
20
+
21
+ # @!attribute display_name
22
+ # @return [String] Display name for the measured unit. Can only contain spaces, underscores and must be alphanumeric.
23
+ define_attribute :display_name, String
24
+
25
+ # @!attribute id
26
+ # @return [String] Item ID
27
+ define_attribute :id, String
28
+
29
+ # @!attribute name
30
+ # @return [String] Unique internal name of the measured unit on your site.
31
+ define_attribute :name, String
32
+
33
+ # @!attribute object
34
+ # @return [String] Object type
35
+ define_attribute :object, String
36
+
37
+ # @!attribute state
38
+ # @return [String] The current state of the measured unit.
39
+ define_attribute :state, String
40
+
41
+ # @!attribute updated_at
42
+ # @return [DateTime] Last updated at
43
+ define_attribute :updated_at, DateTime
44
+ end
45
+ end
46
+ end
@@ -18,6 +18,14 @@ module Recurly
18
18
  # @return [Boolean] Subscriptions will automatically inherit this value once they are active. If `auto_renew` is `true`, then a subscription will automatically renew its term at renewal. If `auto_renew` is `false`, then a subscription will expire at the end of its term. `auto_renew` can be overridden on the subscription record itself.
19
19
  define_attribute :auto_renew, :Boolean
20
20
 
21
+ # @!attribute avalara_service_type
22
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the plan is taxed. Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types.
23
+ define_attribute :avalara_service_type, Integer
24
+
25
+ # @!attribute avalara_transaction_type
26
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the plan is taxed. Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types.
27
+ define_attribute :avalara_transaction_type, Integer
28
+
21
29
  # @!attribute code
22
30
  # @return [String] Unique code to identify the plan. This is used in Hosted Payment Page URLs and in the invoice exports.
23
31
  define_attribute :code, String
@@ -47,7 +47,7 @@ module Recurly
47
47
  define_attribute :tier_type, String
48
48
 
49
49
  # @!attribute tiers
50
- # @return [Array[SubscriptionAddOnTier]] Empty unless `tier_type` is `tiered`, `volume`, or `stairstep`.
50
+ # @return [Array[SubscriptionAddOnTier]] If tiers are provided in the request, all existing tiers on the Subscription Add-on will be removed and replaced by the tiers in the request.
51
51
  define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
52
52
 
53
53
  # @!attribute unit_amount
@@ -57,6 +57,10 @@ module Recurly
57
57
  # @!attribute updated_at
58
58
  # @return [DateTime] Updated at
59
59
  define_attribute :updated_at, DateTime
60
+
61
+ # @!attribute usage_percentage
62
+ # @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if add_on_type is usage and usage_type is percentage.
63
+ define_attribute :usage_percentage, Float
60
64
  end
61
65
  end
62
66
  end
@@ -22,6 +22,10 @@ module Recurly
22
22
  # @return [DateTime] Created at
23
23
  define_attribute :created_at, DateTime
24
24
 
25
+ # @!attribute custom_fields
26
+ # @return [Array[CustomField]] The custom fields will only be altered when they are included in a request. Sending an empty array will not remove any existing values. To remove a field send the name with a null or empty value.
27
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
28
+
25
29
  # @!attribute deleted_at
26
30
  # @return [DateTime] Deleted at
27
31
  define_attribute :deleted_at, DateTime
@@ -30,6 +34,10 @@ module Recurly
30
34
  # @return [String] The ID of the Subscription Change.
31
35
  define_attribute :id, String
32
36
 
37
+ # @!attribute invoice_collection
38
+ # @return [InvoiceCollection] Invoice Collection
39
+ define_attribute :invoice_collection, :InvoiceCollection
40
+
33
41
  # @!attribute object
34
42
  # @return [String] Object type
35
43
  define_attribute :object, String
@@ -22,6 +22,10 @@ module Recurly
22
22
  # @return [DateTime] Created at
23
23
  define_attribute :created_at, DateTime
24
24
 
25
+ # @!attribute custom_fields
26
+ # @return [Array[CustomField]] The custom fields will only be altered when they are included in a request. Sending an empty array will not remove any existing values. To remove a field send the name with a null or empty value.
27
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
28
+
25
29
  # @!attribute deleted_at
26
30
  # @return [DateTime] Deleted at
27
31
  define_attribute :deleted_at, DateTime
@@ -31,7 +35,7 @@ module Recurly
31
35
  define_attribute :id, String
32
36
 
33
37
  # @!attribute invoice_collection
34
- # @return [InvoiceCollection] Invoice collection
38
+ # @return [InvoiceCollection] Invoice Collection
35
39
  define_attribute :invoice_collection, :InvoiceCollection
36
40
 
37
41
  # @!attribute object
@@ -6,6 +6,14 @@ module Recurly
6
6
  module Resources
7
7
  class UniqueCouponCode < Resource
8
8
 
9
+ # @!attribute bulk_coupon_code
10
+ # @return [String] The Coupon code of the parent Bulk Coupon
11
+ define_attribute :bulk_coupon_code, String
12
+
13
+ # @!attribute bulk_coupon_id
14
+ # @return [String] The Coupon ID of the parent Bulk Coupon
15
+ define_attribute :bulk_coupon_id, String
16
+
9
17
  # @!attribute code
10
18
  # @return [String] The code the customer enters to redeem the coupon.
11
19
  define_attribute :code, String
@@ -0,0 +1,70 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class Usage < Resource
8
+
9
+ # @!attribute amount
10
+ # @return [Float] The amount of usage. Can be positive, negative, or 0. No decimals allowed, we will strip them. If the usage-based add-on is billed with a percentage, your usage will be a monetary amount you will want to format in cents. (e.g., $5.00 is "500").
11
+ define_attribute :amount, Float
12
+
13
+ # @!attribute billed_at
14
+ # @return [DateTime] When the usage record was billed on an invoice.
15
+ define_attribute :billed_at, DateTime
16
+
17
+ # @!attribute created_at
18
+ # @return [DateTime] When the usage record was created in Recurly.
19
+ define_attribute :created_at, DateTime
20
+
21
+ # @!attribute id
22
+ # @return [String]
23
+ define_attribute :id, String
24
+
25
+ # @!attribute measured_unit_id
26
+ # @return [String] The ID of the measured unit associated with the add-on the usage record is for.
27
+ define_attribute :measured_unit_id, String
28
+
29
+ # @!attribute merchant_tag
30
+ # @return [String] Custom field for recording the id in your own system associated with the usage, so you can provide auditable usage displays to your customers using a GET on this endpoint.
31
+ define_attribute :merchant_tag, String
32
+
33
+ # @!attribute object
34
+ # @return [String] Object type
35
+ define_attribute :object, String
36
+
37
+ # @!attribute recording_timestamp
38
+ # @return [DateTime] When the usage was recorded in your system.
39
+ define_attribute :recording_timestamp, DateTime
40
+
41
+ # @!attribute tier_type
42
+ # @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based).
43
+ define_attribute :tier_type, String
44
+
45
+ # @!attribute tiers
46
+ # @return [Array[SubscriptionAddOnTier]] The tiers and prices of the subscription based on the usage_timestamp. If tier_type = flat, tiers = null
47
+ define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
48
+
49
+ # @!attribute unit_amount
50
+ # @return [Float] Unit price
51
+ define_attribute :unit_amount, Float
52
+
53
+ # @!attribute updated_at
54
+ # @return [DateTime] When the usage record was billed on an invoice.
55
+ define_attribute :updated_at, DateTime
56
+
57
+ # @!attribute usage_percentage
58
+ # @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0.
59
+ define_attribute :usage_percentage, Float
60
+
61
+ # @!attribute usage_timestamp
62
+ # @return [DateTime] When the usage actually happened. This will define the line item dates this usage is billed under and is important for revenue recognition.
63
+ define_attribute :usage_timestamp, DateTime
64
+
65
+ # @!attribute usage_type
66
+ # @return [String] Type of usage, returns usage type if `add_on_type` is `usage`.
67
+ define_attribute :usage_type, String
68
+ end
69
+ end
70
+ end
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "3.9.0"
2
+ VERSION = "3.14.0"
3
3
  end
@@ -157,11 +157,14 @@ x-tagGroups:
157
157
  - subscription_change
158
158
  - shipping_address
159
159
  - purchase
160
+ - usage
161
+ - automated_exports
160
162
  - name: Products and Promotions
161
163
  tags:
162
164
  - item
163
165
  - plan
164
166
  - add-on
167
+ - measured_unit
165
168
  - coupon
166
169
  - coupon_redemption
167
170
  - unique_coupon_code
@@ -198,6 +201,11 @@ tags:
198
201
  x-displayName: Add-on
199
202
  description: An add-on is a charge billed each billing period in addition to a subscription’s
200
203
  base charge. Each plan may have one or more add-ons associated with it.
204
+ - name: measured_unit
205
+ x-displayName: Measured Unit
206
+ description: A measured unit describes a usage-based add-on's usage. If different
207
+ usage-based add-ons share the same measured unit, you can report on customer usage
208
+ for those add-ons at the aggregated measured unit level.
201
209
  - name: account
202
210
  x-displayName: Account
203
211
  description: Accounts are core to managing your customers inside of Recurly. The
@@ -250,6 +258,11 @@ tags:
250
258
  description: A purchase is a checkout containing at least one or more subscriptions
251
259
  or one-time charges (line items) and supports both coupon and gift card redemptions.
252
260
  All items purchased will be on one invoice and paid for with one transaction.
261
+ - name: usage
262
+ x-displayName: Usage
263
+ description: Send Recurly your customer usage and we will automatically bill them
264
+ in arrears at the end of the billing cycle. For more info on usage-based billing,
265
+ [click here](https://docs.recurly.com/docs/usage-based-billing).
253
266
  - name: transaction
254
267
  x-displayName: Transaction
255
268
  description: Purchasing information is sent to your payment gateway in an action
@@ -270,15 +283,20 @@ tags:
270
283
  - name: shipping_method
271
284
  x-displayName: Shipping Method
272
285
  description: Shipping methods offered to send products to customers.
286
+ - name: automated_exports
287
+ x-displayName: Automated Exports
288
+ description: Automated exports of customer data.
273
289
  paths:
274
290
  "/sites":
275
291
  get:
276
292
  operationId: list_sites
277
293
  summary: List sites
294
+ description: |
295
+ This route is most useful for finding a site's ID for subsequent requests.
296
+
297
+ See the [Pagination Guide](/guides/pagination.html) to learn how to use pagination in the API and Client Libraries.
278
298
  tags:
279
299
  - site
280
- description: This route is most useful for finding a site's ID for subsequent
281
- requests.
282
300
  parameters:
283
301
  - "$ref": "#/components/parameters/ids"
284
302
  - "$ref": "#/components/parameters/limit"
@@ -475,6 +493,8 @@ paths:
475
493
  - account
476
494
  operationId: list_accounts
477
495
  summary: List a site's accounts
496
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
497
+ to use pagination in the API and Client Libraries.
478
498
  parameters:
479
499
  - "$ref": "#/components/parameters/site_id"
480
500
  - "$ref": "#/components/parameters/ids"
@@ -768,7 +788,7 @@ paths:
768
788
  - lang: PHP
769
789
  source: |
770
790
  try {
771
- $account_create = array(
791
+ $account_create = [
772
792
  "code" => $account_code,
773
793
  "first_name" => "Douglas",
774
794
  "last_name" => "DuMonde",
@@ -783,7 +803,7 @@ paths:
783
803
  "country" => "US"
784
804
  ]
785
805
  ]
786
- );
806
+ ];
787
807
 
788
808
  $account = $client->createAccount($account_create);
789
809
 
@@ -1062,10 +1082,10 @@ paths:
1062
1082
  - lang: PHP
1063
1083
  source: |
1064
1084
  try {
1065
- $account_update = array(
1085
+ $account_update = [
1066
1086
  "first_name" => "Douglas",
1067
1087
  "last_name" => "Du Monde",
1068
- );
1088
+ ];
1069
1089
 
1070
1090
  $account = $client->updateAccount($account_id, $account_update);
1071
1091
 
@@ -1458,11 +1478,11 @@ paths:
1458
1478
  - lang: PHP
1459
1479
  source: |
1460
1480
  try {
1461
- $acquisition_update = array(
1481
+ $acquisition_update = [
1462
1482
  "campaign" => "big-event-campaign",
1463
1483
  "channel" => "social_media",
1464
1484
  "subchannel" => "twitter"
1465
- );
1485
+ ];
1466
1486
  $acquisition = $client->updateAccountAcquisition($account_id, $acquisition_update);
1467
1487
 
1468
1488
  echo 'Updated AccountAcquisition:' . PHP_EOL;
@@ -2097,10 +2117,10 @@ paths:
2097
2117
  - lang: PHP
2098
2118
  source: |
2099
2119
  try {
2100
- $binfo_update = array(
2120
+ $binfo_update = [
2101
2121
  "first_name" => "Douglas",
2102
2122
  "last_name" => "Du Monde",
2103
- );
2123
+ ];
2104
2124
  $binfo = $client->updateBillingInfo($account_id, $binfo_update);
2105
2125
 
2106
2126
  echo 'Updated BillingInfo:' . PHP_EOL;
@@ -2237,6 +2257,8 @@ paths:
2237
2257
  - coupon_redemption
2238
2258
  operationId: list_account_coupon_redemptions
2239
2259
  summary: Show the coupon redemptions for an account
2260
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
2261
+ to use pagination in the API and Client Libraries.
2240
2262
  parameters:
2241
2263
  - "$ref": "#/components/parameters/site_id"
2242
2264
  - "$ref": "#/components/parameters/account_id"
@@ -2544,10 +2566,10 @@ paths:
2544
2566
  - lang: PHP
2545
2567
  source: |-
2546
2568
  try {
2547
- $redemption_create = array(
2569
+ $redemption_create = [
2548
2570
  "currency" => "USD",
2549
2571
  "coupon_id" => "code-$coupon_code"
2550
- );
2572
+ ];
2551
2573
  $redemption = $client->createCouponRedemption($account_id, $redemption_create);
2552
2574
  echo "Created Redemption:" . PHP_EOL;
2553
2575
  var_dump($redemption);
@@ -2689,6 +2711,8 @@ paths:
2689
2711
  - credit_payment
2690
2712
  operationId: list_account_credit_payments
2691
2713
  summary: List an account's credit payments
2714
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
2715
+ to use pagination in the API and Client Libraries.
2692
2716
  parameters:
2693
2717
  - "$ref": "#/components/parameters/site_id"
2694
2718
  - "$ref": "#/components/parameters/account_id"
@@ -2783,6 +2807,8 @@ paths:
2783
2807
  - account
2784
2808
  operationId: list_account_invoices
2785
2809
  summary: List an account's invoices
2810
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
2811
+ to use pagination in the API and Client Libraries.
2786
2812
  parameters:
2787
2813
  - "$ref": "#/components/parameters/site_id"
2788
2814
  - "$ref": "#/components/parameters/account_id"
@@ -3016,10 +3042,10 @@ paths:
3016
3042
  - lang: PHP
3017
3043
  source: |-
3018
3044
  try {
3019
- $invoice_create = array(
3045
+ $invoice_create = [
3020
3046
  "currency" => "USD",
3021
3047
  "collection_method" => "automatic"
3022
- );
3048
+ ];
3023
3049
  $invoice_collection = $client->createInvoice(
3024
3050
  $account_id,
3025
3051
  $invoice_create
@@ -3187,10 +3213,10 @@ paths:
3187
3213
  - lang: PHP
3188
3214
  source: |-
3189
3215
  try {
3190
- $invoice_preview = array(
3216
+ $invoice_preview = [
3191
3217
  "currency" => "USD",
3192
3218
  "collection_method" => "automatic"
3193
- );
3219
+ ];
3194
3220
  $invoice_collection = $client->previewInvoice(
3195
3221
  $account_id,
3196
3222
  $invoice_preview
@@ -3220,6 +3246,8 @@ paths:
3220
3246
  - line_item
3221
3247
  operationId: list_account_line_items
3222
3248
  summary: List an account's line items
3249
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
3250
+ to use pagination in the API and Client Libraries.
3223
3251
  parameters:
3224
3252
  - "$ref": "#/components/parameters/site_id"
3225
3253
  - "$ref": "#/components/parameters/account_id"
@@ -3487,6 +3515,8 @@ paths:
3487
3515
  - note
3488
3516
  operationId: list_account_notes
3489
3517
  summary: Fetch a list of an account's notes
3518
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
3519
+ to use pagination in the API and Client Libraries.
3490
3520
  parameters:
3491
3521
  - "$ref": "#/components/parameters/site_id"
3492
3522
  - "$ref": "#/components/parameters/account_id"
@@ -3695,6 +3725,8 @@ paths:
3695
3725
  - shipping_address
3696
3726
  operationId: list_shipping_addresses
3697
3727
  summary: Fetch a list of an account's shipping addresses
3728
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
3729
+ to use pagination in the API and Client Libraries.
3698
3730
  parameters:
3699
3731
  - "$ref": "#/components/parameters/site_id"
3700
3732
  - "$ref": "#/components/parameters/account_id"
@@ -3934,7 +3966,7 @@ paths:
3934
3966
  - lang: PHP
3935
3967
  source: |
3936
3968
  try {
3937
- $address_create = array(
3969
+ $address_create = [
3938
3970
  "nickname" => "Work",
3939
3971
  "street1" => "900 Camp St",
3940
3972
  "city" => "New Orleans",
@@ -3943,7 +3975,7 @@ paths:
3943
3975
  "postal_code" => "70115",
3944
3976
  "first_name" => "Douglas",
3945
3977
  "last_name" => "Du Monde"
3946
- );
3978
+ ];
3947
3979
  $shipping_address = $client->createShippingAddress($account_id, $address_create);
3948
3980
 
3949
3981
  echo "Created Shpping Address:" . PHP_EOL;
@@ -4236,10 +4268,10 @@ paths:
4236
4268
  - lang: PHP
4237
4269
  source: |
4238
4270
  try {
4239
- $shad_update = array(
4271
+ $shad_update = [
4240
4272
  "first_name" => "Douglas",
4241
4273
  "last_name" => "Du Monde",
4242
- );
4274
+ ];
4243
4275
  $shad = $client->updateShippingAddress($account_id, $shipping_address_id, $shad_update);
4244
4276
 
4245
4277
  echo 'Updated Shipping Address:' . PHP_EOL;
@@ -4377,6 +4409,8 @@ paths:
4377
4409
  - account
4378
4410
  operationId: list_account_subscriptions
4379
4411
  summary: List an account's subscriptions
4412
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
4413
+ to use pagination in the API and Client Libraries.
4380
4414
  parameters:
4381
4415
  - "$ref": "#/components/parameters/site_id"
4382
4416
  - "$ref": "#/components/parameters/account_id"
@@ -4472,6 +4506,8 @@ paths:
4472
4506
  - transaction
4473
4507
  operationId: list_account_transactions
4474
4508
  summary: List an account's transactions
4509
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
4510
+ to use pagination in the API and Client Libraries.
4475
4511
  parameters:
4476
4512
  - "$ref": "#/components/parameters/site_id"
4477
4513
  - "$ref": "#/components/parameters/account_id"
@@ -4568,6 +4604,8 @@ paths:
4568
4604
  - account
4569
4605
  operationId: list_child_accounts
4570
4606
  summary: List an account's child accounts
4607
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
4608
+ to use pagination in the API and Client Libraries.
4571
4609
  parameters:
4572
4610
  - "$ref": "#/components/parameters/site_id"
4573
4611
  - "$ref": "#/components/parameters/account_id"
@@ -4641,6 +4679,8 @@ paths:
4641
4679
  - account_acquisition
4642
4680
  operationId: list_account_acquisition
4643
4681
  summary: List a site's account acquisition data
4682
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
4683
+ to use pagination in the API and Client Libraries.
4644
4684
  parameters:
4645
4685
  - "$ref": "#/components/parameters/site_id"
4646
4686
  - "$ref": "#/components/parameters/ids"
@@ -4731,6 +4771,8 @@ paths:
4731
4771
  - coupon
4732
4772
  operationId: list_coupons
4733
4773
  summary: List a site's coupons
4774
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
4775
+ to use pagination in the API and Client Libraries.
4734
4776
  parameters:
4735
4777
  - "$ref": "#/components/parameters/site_id"
4736
4778
  - "$ref": "#/components/parameters/ids"
@@ -4978,7 +5020,7 @@ paths:
4978
5020
  - lang: PHP
4979
5021
  source: |
4980
5022
  try {
4981
- $coupon_create = array(
5023
+ $coupon_create = [
4982
5024
  "name" => "Promotional Coupon",
4983
5025
  "code" => $coupon_code,
4984
5026
  "discount_type" => "fixed",
@@ -4986,7 +5028,7 @@ paths:
4986
5028
  "currency" => "USD",
4987
5029
  "discount" => 10
4988
5030
  ]
4989
- );
5031
+ ];
4990
5032
 
4991
5033
  $coupon = $client->createCoupon($coupon_create);
4992
5034
 
@@ -5259,9 +5301,9 @@ paths:
5259
5301
  - lang: PHP
5260
5302
  source: |
5261
5303
  try {
5262
- $coupon_update = array(
5304
+ $coupon_update = [
5263
5305
  "name" => "New Coupon Name"
5264
- );
5306
+ ];
5265
5307
  $coupon = $client->updateCoupon($coupon_id, $coupon_update);
5266
5308
 
5267
5309
  echo 'Updated Coupon:' . PHP_EOL;
@@ -5437,6 +5479,55 @@ paths:
5437
5479
  schema:
5438
5480
  "$ref": "#/components/schemas/Error"
5439
5481
  x-code-samples: []
5482
+ "/sites/{site_id}/coupons/{coupon_id}/restore":
5483
+ put:
5484
+ tags:
5485
+ - coupon
5486
+ operationId: restore_coupon
5487
+ summary: Restore an inactive coupon
5488
+ description: Make an expired coupon redeemable again. You can change editable
5489
+ fields in this call.
5490
+ parameters:
5491
+ - "$ref": "#/components/parameters/site_id"
5492
+ - "$ref": "#/components/parameters/coupon_id"
5493
+ requestBody:
5494
+ content:
5495
+ application/json:
5496
+ schema:
5497
+ "$ref": "#/components/schemas/CouponUpdate"
5498
+ required: true
5499
+ responses:
5500
+ '200':
5501
+ description: The restored coupon.
5502
+ content:
5503
+ application/json:
5504
+ schema:
5505
+ "$ref": "#/components/schemas/Coupon"
5506
+ '400':
5507
+ description: Bad request, perhaps invalid JSON?
5508
+ content:
5509
+ application/json:
5510
+ schema:
5511
+ "$ref": "#/components/schemas/Error"
5512
+ '404':
5513
+ description: Incorrect site or coupon ID.
5514
+ content:
5515
+ application/json:
5516
+ schema:
5517
+ "$ref": "#/components/schemas/Error"
5518
+ '422':
5519
+ description: Invalid request parameters
5520
+ content:
5521
+ application/json:
5522
+ schema:
5523
+ "$ref": "#/components/schemas/Error"
5524
+ default:
5525
+ description: Unexpected error.
5526
+ content:
5527
+ application/json:
5528
+ schema:
5529
+ "$ref": "#/components/schemas/Error"
5530
+ x-code-samples: []
5440
5531
  "/sites/{site_id}/coupons/{coupon_id}/unique_coupon_codes":
5441
5532
  get:
5442
5533
  tags:
@@ -5444,6 +5535,8 @@ paths:
5444
5535
  - unique_coupon_code
5445
5536
  operationId: list_unique_coupon_codes
5446
5537
  summary: List unique coupon codes associated with a bulk coupon
5538
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
5539
+ to use pagination in the API and Client Libraries.
5447
5540
  parameters:
5448
5541
  - "$ref": "#/components/parameters/site_id"
5449
5542
  - "$ref": "#/components/parameters/coupon_id"
@@ -5479,6 +5572,8 @@ paths:
5479
5572
  - credit_payment
5480
5573
  operationId: list_credit_payments
5481
5574
  summary: List a site's credit payments
5575
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
5576
+ to use pagination in the API and Client Libraries.
5482
5577
  parameters:
5483
5578
  - "$ref": "#/components/parameters/site_id"
5484
5579
  - "$ref": "#/components/parameters/limit"
@@ -5596,6 +5691,8 @@ paths:
5596
5691
  - custom_field_definition
5597
5692
  operationId: list_custom_field_definitions
5598
5693
  summary: List a site's custom field definitions
5694
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
5695
+ to use pagination in the API and Client Libraries.
5599
5696
  parameters:
5600
5697
  - "$ref": "#/components/parameters/site_id"
5601
5698
  - "$ref": "#/components/parameters/ids"
@@ -5812,6 +5909,8 @@ paths:
5812
5909
  - item
5813
5910
  operationId: list_items
5814
5911
  summary: List a site's items
5912
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
5913
+ to use pagination in the API and Client Libraries.
5815
5914
  parameters:
5816
5915
  - "$ref": "#/components/parameters/site_id"
5817
5916
  - "$ref": "#/components/parameters/ids"
@@ -6079,11 +6178,11 @@ paths:
6079
6178
  - lang: PHP
6080
6179
  source: |
6081
6180
  try {
6082
- $item_create = array(
6181
+ $item_create = [
6083
6182
  "code" => $item_code,
6084
6183
  "name" => "Coffee Grinder",
6085
6184
  "description" => "A professional-grade bean grinder."
6086
- );
6185
+ ];
6087
6186
  $item = $client->createItem($item_create);
6088
6187
 
6089
6188
  echo 'Created Item:' . PHP_EOL;
@@ -6366,10 +6465,10 @@ paths:
6366
6465
  - lang: PHP
6367
6466
  source: |
6368
6467
  try {
6369
- $item_update = array(
6468
+ $item_update = [
6370
6469
  "name" => "Dark Roast Coffee Beans",
6371
6470
  "description" => "A special dark roast version.",
6372
- );
6471
+ ];
6373
6472
  $item = $client->updateItem($item_id, $item_update);
6374
6473
 
6375
6474
  echo 'Updated Item:' . PHP_EOL;
@@ -6632,12 +6731,200 @@ paths:
6632
6731
  validation: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
6633
6732
  Recurly error: %v\", e)\n\treturn nil, err\n}\nfmt.Printf(\"Reactivated
6634
6733
  Item: %s\", item.Id)"
6734
+ "/sites/{site_id}/measured_units":
6735
+ get:
6736
+ tags:
6737
+ - measured_unit
6738
+ operationId: list_measured_unit
6739
+ summary: List a site's measured units
6740
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
6741
+ to use pagination in the API and Client Libraries.
6742
+ parameters:
6743
+ - "$ref": "#/components/parameters/site_id"
6744
+ - "$ref": "#/components/parameters/ids"
6745
+ - "$ref": "#/components/parameters/limit"
6746
+ - "$ref": "#/components/parameters/order"
6747
+ - "$ref": "#/components/parameters/sort_dates"
6748
+ - "$ref": "#/components/parameters/filter_begin_time"
6749
+ - "$ref": "#/components/parameters/filter_end_time"
6750
+ - "$ref": "#/components/parameters/filter_state"
6751
+ responses:
6752
+ '200':
6753
+ description: A list of the site's measured units.
6754
+ content:
6755
+ application/json:
6756
+ schema:
6757
+ "$ref": "#/components/schemas/MeasuredUnitList"
6758
+ '404':
6759
+ description: Incorrect site ID.
6760
+ content:
6761
+ application/json:
6762
+ schema:
6763
+ "$ref": "#/components/schemas/Error"
6764
+ default:
6765
+ description: Unexpected error.
6766
+ content:
6767
+ application/json:
6768
+ schema:
6769
+ "$ref": "#/components/schemas/Error"
6770
+ x-code-samples: []
6771
+ post:
6772
+ tags:
6773
+ - measured_unit
6774
+ operationId: create_measured_unit
6775
+ summary: Create a new measured unit
6776
+ parameters:
6777
+ - "$ref": "#/components/parameters/site_id"
6778
+ requestBody:
6779
+ content:
6780
+ application/json:
6781
+ schema:
6782
+ "$ref": "#/components/schemas/MeasuredUnitCreate"
6783
+ required: true
6784
+ responses:
6785
+ '201':
6786
+ description: A new measured unit.
6787
+ content:
6788
+ application/json:
6789
+ schema:
6790
+ "$ref": "#/components/schemas/MeasuredUnit"
6791
+ '400':
6792
+ description: Bad request, perhaps invalid JSON?
6793
+ content:
6794
+ application/json:
6795
+ schema:
6796
+ "$ref": "#/components/schemas/Error"
6797
+ '404':
6798
+ description: Incorrect site ID.
6799
+ content:
6800
+ application/json:
6801
+ schema:
6802
+ "$ref": "#/components/schemas/Error"
6803
+ '422':
6804
+ description: Invalid request parameters.
6805
+ content:
6806
+ application/json:
6807
+ schema:
6808
+ "$ref": "#/components/schemas/Error"
6809
+ default:
6810
+ description: Unexpected error.
6811
+ content:
6812
+ application/json:
6813
+ schema:
6814
+ "$ref": "#/components/schemas/Error"
6815
+ x-code-samples: []
6816
+ "/sites/{site_id}/measured_units/{measured_unit_id}":
6817
+ get:
6818
+ tags:
6819
+ - measured_unit
6820
+ operationId: get_measured_unit
6821
+ summary: Fetch a measured unit
6822
+ parameters:
6823
+ - "$ref": "#/components/parameters/site_id"
6824
+ - "$ref": "#/components/parameters/measured_unit_id"
6825
+ responses:
6826
+ '200':
6827
+ description: An item.
6828
+ content:
6829
+ application/json:
6830
+ schema:
6831
+ "$ref": "#/components/schemas/MeasuredUnit"
6832
+ '404':
6833
+ description: Incorrect site or measured unit ID.
6834
+ content:
6835
+ application/json:
6836
+ schema:
6837
+ "$ref": "#/components/schemas/Error"
6838
+ default:
6839
+ description: Unexpected error.
6840
+ content:
6841
+ application/json:
6842
+ schema:
6843
+ "$ref": "#/components/schemas/Error"
6844
+ x-code-samples: []
6845
+ put:
6846
+ tags:
6847
+ - measured_unit
6848
+ operationId: update_measured_unit
6849
+ summary: Update a measured unit
6850
+ parameters:
6851
+ - "$ref": "#/components/parameters/site_id"
6852
+ - "$ref": "#/components/parameters/measured_unit_id"
6853
+ requestBody:
6854
+ content:
6855
+ application/json:
6856
+ schema:
6857
+ "$ref": "#/components/schemas/MeasuredUnitUpdate"
6858
+ required: true
6859
+ responses:
6860
+ '200':
6861
+ description: The updated measured_unit.
6862
+ content:
6863
+ application/json:
6864
+ schema:
6865
+ "$ref": "#/components/schemas/MeasuredUnit"
6866
+ '400':
6867
+ description: Bad request, perhaps invalid JSON?
6868
+ content:
6869
+ application/json:
6870
+ schema:
6871
+ "$ref": "#/components/schemas/Error"
6872
+ '404':
6873
+ description: Incorrect site or measured unit ID.
6874
+ content:
6875
+ application/json:
6876
+ schema:
6877
+ "$ref": "#/components/schemas/Error"
6878
+ '422':
6879
+ description: Invalid request parameters
6880
+ content:
6881
+ application/json:
6882
+ schema:
6883
+ "$ref": "#/components/schemas/Error"
6884
+ default:
6885
+ description: Unexpected error.
6886
+ content:
6887
+ application/json:
6888
+ schema:
6889
+ "$ref": "#/components/schemas/Error"
6890
+ x-code-samples: []
6891
+ delete:
6892
+ tags:
6893
+ - measured_unit
6894
+ operationId: remove_measured_unit
6895
+ summary: Remove a measured unit
6896
+ description: A mesured unit cannot be deleted if it is used by an active plan.
6897
+ parameters:
6898
+ - "$ref": "#/components/parameters/site_id"
6899
+ - "$ref": "#/components/parameters/measured_unit_id"
6900
+ responses:
6901
+ '200':
6902
+ description: A measured unit.
6903
+ content:
6904
+ application/json:
6905
+ schema:
6906
+ "$ref": "#/components/schemas/MeasuredUnit"
6907
+ '422':
6908
+ description: Measured unit may already be inactive.
6909
+ content:
6910
+ application/json:
6911
+ schema:
6912
+ "$ref": "#/components/schemas/Error"
6913
+ default:
6914
+ description: Unexpected error.
6915
+ content:
6916
+ application/json:
6917
+ schema:
6918
+ "$ref": "#/components/schemas/Error"
6919
+ x-code-samples: []
6635
6920
  "/sites/{site_id}/invoices":
6636
6921
  get:
6637
6922
  tags:
6638
6923
  - invoice
6639
6924
  operationId: list_invoices
6640
6925
  summary: List a site's invoices
6926
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
6927
+ to use pagination in the API and Client Libraries.
6641
6928
  parameters:
6642
6929
  - "$ref": "#/components/parameters/site_id"
6643
6930
  - "$ref": "#/components/parameters/ids"
@@ -6964,10 +7251,10 @@ paths:
6964
7251
  - lang: PHP
6965
7252
  source: |
6966
7253
  try {
6967
- $invoice_update = array(
7254
+ $invoice_update = [
6968
7255
  "customer_notes" => "New Notes",
6969
7256
  "terms_and_conditions" => "New terms and conditions",
6970
- );
7257
+ ];
6971
7258
  $invoice = $client->putInvoice($invoice_id, $invoice_update);
6972
7259
 
6973
7260
  echo 'Updated Invoice:' . PHP_EOL;
@@ -7817,6 +8104,8 @@ paths:
7817
8104
  - line_item
7818
8105
  operationId: list_invoice_line_items
7819
8106
  summary: List an invoice's line items
8107
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
8108
+ to use pagination in the API and Client Libraries.
7820
8109
  parameters:
7821
8110
  - "$ref": "#/components/parameters/site_id"
7822
8111
  - "$ref": "#/components/parameters/invoice_id"
@@ -7918,6 +8207,8 @@ paths:
7918
8207
  - coupon_redemption
7919
8208
  operationId: list_invoice_coupon_redemptions
7920
8209
  summary: Show the coupon redemptions applied to an invoice
8210
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
8211
+ to use pagination in the API and Client Libraries.
7921
8212
  parameters:
7922
8213
  - "$ref": "#/components/parameters/site_id"
7923
8214
  - "$ref": "#/components/parameters/invoice_id"
@@ -8012,6 +8303,8 @@ paths:
8012
8303
  Related invoices provide a link between credit invoices and the charge invoices that they are refunding.
8013
8304
  For a charge invoice the related invoices will be credit invoices.
8014
8305
  For a credit invoice the related invoices will be charge invoices.
8306
+
8307
+ See the [Pagination Guide](/guides/pagination.html) to learn how to use pagination in the API and Client Libraries.
8015
8308
  parameters:
8016
8309
  - "$ref": "#/components/parameters/site_id"
8017
8310
  - "$ref": "#/components/parameters/invoice_id"
@@ -8230,10 +8523,10 @@ paths:
8230
8523
  - lang: PHP
8231
8524
  source: |
8232
8525
  try {
8233
- $refund = array(
8526
+ $refund = [
8234
8527
  "type" => "amount",
8235
8528
  "amount" => 1
8236
- );
8529
+ ];
8237
8530
  $invoice_collection = $client->refundInvoice($invoice_id, $refund);
8238
8531
 
8239
8532
  echo 'Refunded Invoice:' . PHP_EOL;
@@ -8261,6 +8554,8 @@ paths:
8261
8554
  - line_item
8262
8555
  operationId: list_line_items
8263
8556
  summary: List a site's line items
8557
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
8558
+ to use pagination in the API and Client Libraries.
8264
8559
  parameters:
8265
8560
  - "$ref": "#/components/parameters/site_id"
8266
8561
  - "$ref": "#/components/parameters/ids"
@@ -8589,6 +8884,8 @@ paths:
8589
8884
  - plan
8590
8885
  operationId: list_plans
8591
8886
  summary: List a site's plans
8887
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
8888
+ to use pagination in the API and Client Libraries.
8592
8889
  parameters:
8593
8890
  - "$ref": "#/components/parameters/site_id"
8594
8891
  - "$ref": "#/components/parameters/ids"
@@ -8837,16 +9134,16 @@ paths:
8837
9134
  - lang: PHP
8838
9135
  source: |
8839
9136
  try {
8840
- $plan_create = array(
9137
+ $plan_create = [
8841
9138
  "name" => "Monthly Coffee Subscription",
8842
9139
  "code" => $plan_code,
8843
9140
  "currencies" => [
8844
- array(
9141
+ [
8845
9142
  "currency" => "USD",
8846
9143
  "unit_amount" => 10000
8847
- )
9144
+ ]
8848
9145
  ]
8849
- );
9146
+ ];
8850
9147
 
8851
9148
  $plan = $client->createPlan($plan_create);
8852
9149
 
@@ -9111,9 +9408,9 @@ paths:
9111
9408
  - lang: PHP
9112
9409
  source: |
9113
9410
  try {
9114
- $plan_update = array(
9411
+ $plan_update = [
9115
9412
  "name" => "Monthly Tea Subscription"
9116
- );
9413
+ ];
9117
9414
  $plan = $client->updatePlan($plan_id, $plan_update);
9118
9415
 
9119
9416
  echo 'Updated Plan:' . PHP_EOL;
@@ -9249,6 +9546,8 @@ paths:
9249
9546
  - plan
9250
9547
  operationId: list_plan_add_ons
9251
9548
  summary: List a plan's add-ons
9549
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
9550
+ to use pagination in the API and Client Libraries.
9252
9551
  parameters:
9253
9552
  - "$ref": "#/components/parameters/site_id"
9254
9553
  - "$ref": "#/components/parameters/plan_id"
@@ -9506,10 +9805,10 @@ paths:
9506
9805
  "code" => $add_on_code,
9507
9806
  "name" => "Fresh beans shipped monthly",
9508
9807
  "currencies" => [
9509
- array(
9808
+ [
9510
9809
  "currency" => "USD",
9511
9810
  "unit_amount" => 10
9512
- )
9811
+ ]
9513
9812
  ]
9514
9813
  ];
9515
9814
 
@@ -9777,9 +10076,9 @@ paths:
9777
10076
  - lang: PHP
9778
10077
  source: |
9779
10078
  try {
9780
- $add_on_update = array(
10079
+ $add_on_update = [
9781
10080
  "name" => "New AddOn Name",
9782
- );
10081
+ ];
9783
10082
  $add_on = $client->updatePlanAddOn($plan_id, $add_on_id, $add_on_update);
9784
10083
 
9785
10084
  echo ' Updated Plan AddOn:' . PHP_EOL;
@@ -9913,6 +10212,8 @@ paths:
9913
10212
  - add-on
9914
10213
  operationId: list_add_ons
9915
10214
  summary: List a site's add-ons
10215
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
10216
+ to use pagination in the API and Client Libraries.
9916
10217
  parameters:
9917
10218
  - "$ref": "#/components/parameters/site_id"
9918
10219
  - "$ref": "#/components/parameters/ids"
@@ -10121,6 +10422,8 @@ paths:
10121
10422
  - shipping_method
10122
10423
  operationId: list_shipping_methods
10123
10424
  summary: List a site's shipping methods
10425
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
10426
+ to use pagination in the API and Client Libraries.
10124
10427
  parameters:
10125
10428
  - "$ref": "#/components/parameters/site_id"
10126
10429
  - "$ref": "#/components/parameters/ids"
@@ -10370,6 +10673,8 @@ paths:
10370
10673
  - subscription
10371
10674
  operationId: list_subscriptions
10372
10675
  summary: List a site's subscriptions
10676
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
10677
+ to use pagination in the API and Client Libraries.
10373
10678
  parameters:
10374
10679
  - "$ref": "#/components/parameters/site_id"
10375
10680
  - "$ref": "#/components/parameters/ids"
@@ -10604,13 +10909,13 @@ paths:
10604
10909
  - lang: PHP
10605
10910
  source: |
10606
10911
  try {
10607
- $sub_create = array(
10912
+ $sub_create = [
10608
10913
  "plan_code" => $plan_code,
10609
10914
  "currency" => "USD",
10610
- "account" => array(
10915
+ "account" => [
10611
10916
  "code" => $account_code
10612
- ),
10613
- );
10917
+ ],
10918
+ ];
10614
10919
 
10615
10920
  $subscription = $client->createSubscription($sub_create);
10616
10921
 
@@ -10874,10 +11179,10 @@ paths:
10874
11179
  - lang: PHP
10875
11180
  source: |
10876
11181
  try {
10877
- $changes = array(
11182
+ $changes = [
10878
11183
  "terms_and_conditions" => "Some new terms and conditions",
10879
11184
  "customer_notes" => "Some new customer notes"
10880
- );
11185
+ ];
10881
11186
 
10882
11187
  $subscription = $client->modifySubscription($subscription_id, $changes);
10883
11188
 
@@ -11917,10 +12222,10 @@ paths:
11917
12222
  - lang: PHP
11918
12223
  source: |
11919
12224
  try {
11920
- $change_create = array(
12225
+ $change_create = [
11921
12226
  "plan_code" => $new_plan_code,
11922
12227
  "timeframe" => "now"
11923
- );
12228
+ ];
11924
12229
  $change = $client->createSubscriptionChange($subscription_id, $change_create);
11925
12230
 
11926
12231
  echo 'Created Subscription Change:' . PHP_EOL;
@@ -12108,6 +12413,8 @@ paths:
12108
12413
  - subscription
12109
12414
  operationId: list_subscription_invoices
12110
12415
  summary: List a subscription's invoices
12416
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
12417
+ to use pagination in the API and Client Libraries.
12111
12418
  parameters:
12112
12419
  - "$ref": "#/components/parameters/site_id"
12113
12420
  - "$ref": "#/components/parameters/subscription_id"
@@ -12203,6 +12510,8 @@ paths:
12203
12510
  - subscription
12204
12511
  operationId: list_subscription_line_items
12205
12512
  summary: List a subscription's line items
12513
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
12514
+ to use pagination in the API and Client Libraries.
12206
12515
  parameters:
12207
12516
  - "$ref": "#/components/parameters/site_id"
12208
12517
  - "$ref": "#/components/parameters/subscription_id"
@@ -12301,6 +12610,8 @@ paths:
12301
12610
  - coupon_redemption
12302
12611
  operationId: list_subscription_coupon_redemptions
12303
12612
  summary: Show the coupon redemptions for a subscription
12613
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
12614
+ to use pagination in the API and Client Libraries.
12304
12615
  parameters:
12305
12616
  - "$ref": "#/components/parameters/site_id"
12306
12617
  - "$ref": "#/components/parameters/subscription_id"
@@ -12380,25 +12691,244 @@ paths:
12380
12691
  e, ok := err.(*recurly.Error); ok {\n\t\tfmt.Printf(\"Failed to retrieve
12381
12692
  next page: %v\", e)\n\t\tbreak\n\t}\n\tfor i, redemption := range subCouponRedemptions.Data
12382
12693
  {\n\t\tfmt.Printf(\"Subscription Coupon Redemption %3d: %s\\n\",\n\t\t\ti,\n\t\t\tredemption.Id,\n\t\t)\n\t}\n}"
12383
- "/sites/{site_id}/transactions":
12694
+ "/sites/{site_id}/subscriptions/{subscription_id}/add_ons/{add_on_id}/usage":
12384
12695
  get:
12385
12696
  tags:
12386
- - transaction
12387
- operationId: list_transactions
12388
- summary: List a site's transactions
12697
+ - invoice
12698
+ - subscription
12699
+ - usage
12700
+ operationId: list_usage
12701
+ summary: List a subscription add-on's usage records
12389
12702
  parameters:
12390
12703
  - "$ref": "#/components/parameters/site_id"
12704
+ - "$ref": "#/components/parameters/subscription_id"
12705
+ - "$ref": "#/components/parameters/add_on_id"
12391
12706
  - "$ref": "#/components/parameters/ids"
12392
12707
  - "$ref": "#/components/parameters/limit"
12393
12708
  - "$ref": "#/components/parameters/order"
12394
- - "$ref": "#/components/parameters/sort_dates"
12395
- - "$ref": "#/components/parameters/filter_begin_time"
12396
- - "$ref": "#/components/parameters/filter_end_time"
12397
- - "$ref": "#/components/parameters/filter_transaction_type"
12398
- - "$ref": "#/components/parameters/filter_transaction_success"
12709
+ - "$ref": "#/components/parameters/usage_sort_dates"
12710
+ - "$ref": "#/components/parameters/filter_usage_begin_time"
12711
+ - "$ref": "#/components/parameters/filter_usage_end_time"
12712
+ - "$ref": "#/components/parameters/billing_status"
12399
12713
  responses:
12400
12714
  '200':
12401
- description: A list of the site's transactions.
12715
+ description: A list of the subscription add-on's usage records.
12716
+ content:
12717
+ application/json:
12718
+ schema:
12719
+ "$ref": "#/components/schemas/UsageList"
12720
+ '400':
12721
+ description: Invalid or unpermitted parameter.
12722
+ content:
12723
+ application/json:
12724
+ schema:
12725
+ "$ref": "#/components/schemas/Error"
12726
+ '404':
12727
+ description: Incorrect site or subscription ID or add-on id.
12728
+ content:
12729
+ application/json:
12730
+ schema:
12731
+ "$ref": "#/components/schemas/Error"
12732
+ default:
12733
+ description: Unexpected error.
12734
+ content:
12735
+ application/json:
12736
+ schema:
12737
+ "$ref": "#/components/schemas/Error"
12738
+ x-code-samples: []
12739
+ post:
12740
+ tags:
12741
+ - invoice
12742
+ - subscription
12743
+ - usage
12744
+ operationId: create_usage
12745
+ summary: Log a usage record on this subscription add-on
12746
+ parameters:
12747
+ - "$ref": "#/components/parameters/site_id"
12748
+ - "$ref": "#/components/parameters/subscription_id"
12749
+ - "$ref": "#/components/parameters/add_on_id"
12750
+ requestBody:
12751
+ content:
12752
+ application/json:
12753
+ schema:
12754
+ "$ref": "#/components/schemas/UsageCreate"
12755
+ required: true
12756
+ responses:
12757
+ '201':
12758
+ description: The created usage record.
12759
+ content:
12760
+ application/json:
12761
+ schema:
12762
+ "$ref": "#/components/schemas/Usage"
12763
+ '400':
12764
+ description: Invalid or unpermitted parameter.
12765
+ content:
12766
+ application/json:
12767
+ schema:
12768
+ "$ref": "#/components/schemas/Error"
12769
+ '404':
12770
+ description: Incorrect site or subscription ID or add-on id.
12771
+ content:
12772
+ application/json:
12773
+ schema:
12774
+ "$ref": "#/components/schemas/Error"
12775
+ '422':
12776
+ description: A validation error.
12777
+ content:
12778
+ application/json:
12779
+ schema:
12780
+ "$ref": "#/components/schemas/Error"
12781
+ default:
12782
+ description: Unexpected error.
12783
+ content:
12784
+ application/json:
12785
+ schema:
12786
+ "$ref": "#/components/schemas/Error"
12787
+ x-code-samples: []
12788
+ "/sites/{site_id}/usage/{usage_id}":
12789
+ get:
12790
+ tags:
12791
+ - invoice
12792
+ - subscription
12793
+ - usage
12794
+ operationId: get_usage
12795
+ summary: Get a usage record
12796
+ parameters:
12797
+ - "$ref": "#/components/parameters/site_id"
12798
+ - "$ref": "#/components/parameters/usage_id"
12799
+ responses:
12800
+ '200':
12801
+ description: The usage record.
12802
+ content:
12803
+ application/json:
12804
+ schema:
12805
+ "$ref": "#/components/schemas/Usage"
12806
+ '400':
12807
+ description: Invalid or unpermitted parameter.
12808
+ content:
12809
+ application/json:
12810
+ schema:
12811
+ "$ref": "#/components/schemas/Error"
12812
+ '404':
12813
+ description: Incorrect site or subscription, add-on, or usage ID.
12814
+ content:
12815
+ application/json:
12816
+ schema:
12817
+ "$ref": "#/components/schemas/Error"
12818
+ default:
12819
+ description: Unexpected error.
12820
+ content:
12821
+ application/json:
12822
+ schema:
12823
+ "$ref": "#/components/schemas/Error"
12824
+ x-code-samples: []
12825
+ put:
12826
+ tags:
12827
+ - invoice
12828
+ - subscription
12829
+ - usage
12830
+ operationId: update_usage
12831
+ summary: Update a usage record
12832
+ parameters:
12833
+ - "$ref": "#/components/parameters/site_id"
12834
+ - "$ref": "#/components/parameters/usage_id"
12835
+ requestBody:
12836
+ content:
12837
+ application/json:
12838
+ schema:
12839
+ "$ref": "#/components/schemas/UsageCreate"
12840
+ required: true
12841
+ responses:
12842
+ '200':
12843
+ description: The updated usage record.
12844
+ content:
12845
+ application/json:
12846
+ schema:
12847
+ "$ref": "#/components/schemas/Usage"
12848
+ '400':
12849
+ description: Invalid or unpermitted parameter.
12850
+ content:
12851
+ application/json:
12852
+ schema:
12853
+ "$ref": "#/components/schemas/Error"
12854
+ '404':
12855
+ description: Incorrect site or subscription, add-on, or usage ID.
12856
+ content:
12857
+ application/json:
12858
+ schema:
12859
+ "$ref": "#/components/schemas/Error"
12860
+ '422':
12861
+ description: A validation error.
12862
+ content:
12863
+ application/json:
12864
+ schema:
12865
+ "$ref": "#/components/schemas/Error"
12866
+ default:
12867
+ description: Unexpected error.
12868
+ content:
12869
+ application/json:
12870
+ schema:
12871
+ "$ref": "#/components/schemas/Error"
12872
+ x-code-samples: []
12873
+ delete:
12874
+ tags:
12875
+ - invoice
12876
+ - subscription
12877
+ - usage
12878
+ operationId: remove_usage
12879
+ summary: Delete a usage record.
12880
+ parameters:
12881
+ - "$ref": "#/components/parameters/site_id"
12882
+ - "$ref": "#/components/parameters/usage_id"
12883
+ responses:
12884
+ '204':
12885
+ description: Usage was successfully deleted.
12886
+ '400':
12887
+ description: Invalid or unpermitted parameter.
12888
+ content:
12889
+ application/json:
12890
+ schema:
12891
+ "$ref": "#/components/schemas/Error"
12892
+ '404':
12893
+ description: Incorrect site or subscription, add-on, or usage ID.
12894
+ content:
12895
+ application/json:
12896
+ schema:
12897
+ "$ref": "#/components/schemas/Error"
12898
+ '422':
12899
+ description: A validation error.
12900
+ content:
12901
+ application/json:
12902
+ schema:
12903
+ "$ref": "#/components/schemas/Error"
12904
+ default:
12905
+ description: Unexpected error.
12906
+ content:
12907
+ application/json:
12908
+ schema:
12909
+ "$ref": "#/components/schemas/Error"
12910
+ x-code-samples: []
12911
+ "/sites/{site_id}/transactions":
12912
+ get:
12913
+ tags:
12914
+ - transaction
12915
+ operationId: list_transactions
12916
+ summary: List a site's transactions
12917
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
12918
+ to use pagination in the API and Client Libraries.
12919
+ parameters:
12920
+ - "$ref": "#/components/parameters/site_id"
12921
+ - "$ref": "#/components/parameters/ids"
12922
+ - "$ref": "#/components/parameters/limit"
12923
+ - "$ref": "#/components/parameters/order"
12924
+ - "$ref": "#/components/parameters/sort_dates"
12925
+ - "$ref": "#/components/parameters/filter_begin_time"
12926
+ - "$ref": "#/components/parameters/filter_end_time"
12927
+ - "$ref": "#/components/parameters/filter_transaction_type"
12928
+ - "$ref": "#/components/parameters/filter_transaction_success"
12929
+ responses:
12930
+ '200':
12931
+ description: A list of the site's transactions.
12402
12932
  content:
12403
12933
  application/json:
12404
12934
  schema:
@@ -12880,22 +13410,22 @@ paths:
12880
13410
  - lang: PHP
12881
13411
  source: |
12882
13412
  try {
12883
- $purchase_create = array(
13413
+ $purchase_create = [
12884
13414
  "currency" => "USD",
12885
- "account" => array(
13415
+ "account" => [
12886
13416
  "code" => $account_code,
12887
13417
  "first_name" => "Douglas",
12888
13418
  "last_name" => "Du Monde",
12889
- "billing_info" => array(
13419
+ "billing_info" => [
12890
13420
  "token_id" => $rjs_token_id
12891
- ),
12892
- ),
13421
+ ],
13422
+ ],
12893
13423
  "subscriptions" => [
12894
- array(
13424
+ [
12895
13425
  "plan_code" => $plan_code
12896
- )
13426
+ ]
12897
13427
  ]
12898
- );
13428
+ ];
12899
13429
  $invoice_collection = $client->createPurchase($purchase_create);
12900
13430
  echo 'Created Invoices:' . PHP_EOL;
12901
13431
  var_dump($invoice_collection);
@@ -13116,22 +13646,22 @@ paths:
13116
13646
  - lang: PHP
13117
13647
  source: |
13118
13648
  try {
13119
- $purchase_preview = array(
13649
+ $purchase_preview = [
13120
13650
  "currency" => "USD",
13121
- "account" => array(
13651
+ "account" => [
13122
13652
  "code" => $account_code,
13123
13653
  "first_name" => "Douglas",
13124
13654
  "last_name" => "Du Monde",
13125
- "billing_info" => array(
13655
+ "billing_info" => [
13126
13656
  "token_id" => $rjs_token_id
13127
- ),
13128
- ),
13657
+ ],
13658
+ ],
13129
13659
  "subscriptions" => [
13130
- array(
13660
+ [
13131
13661
  "plan_code" => $plan_code
13132
- )
13662
+ ]
13133
13663
  ]
13134
- );
13664
+ ];
13135
13665
  $invoice_collection = $client->previewPurchase($purchase_preview);
13136
13666
  echo 'Preview Invoices:' . PHP_EOL;
13137
13667
  var_dump($invoice_collection);
@@ -13150,6 +13680,231 @@ paths:
13150
13680
  {\n\t\tfmt.Printf(\"Failed validation: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
13151
13681
  Recurly error: %v\", e)\n\treturn nil, err\n}\nfmt.Printf(\"Preview Charge
13152
13682
  Invoice %v\", collection.ChargeInvoice)"
13683
+ "/sites/{site_id}/export_dates":
13684
+ parameters:
13685
+ - "$ref": "#/components/parameters/site_id"
13686
+ get:
13687
+ tags:
13688
+ - automated_exports
13689
+ operationId: get_export_dates
13690
+ summary: List the dates that have an available export to download.
13691
+ description: Returns a list of dates for which export files are available for
13692
+ download.
13693
+ responses:
13694
+ '200':
13695
+ description: Returns a list of dates.
13696
+ content:
13697
+ application/json:
13698
+ schema:
13699
+ "$ref": "#/components/schemas/ExportDates"
13700
+ '400':
13701
+ description: Invalid or unpermitted parameter.
13702
+ content:
13703
+ application/json:
13704
+ schema:
13705
+ "$ref": "#/components/schemas/Error"
13706
+ '404':
13707
+ description: Incorrect site ID.
13708
+ content:
13709
+ application/json:
13710
+ schema:
13711
+ "$ref": "#/components/schemas/Error"
13712
+ default:
13713
+ description: Unexpected error.
13714
+ content:
13715
+ application/json:
13716
+ schema:
13717
+ "$ref": "#/components/schemas/Error"
13718
+ x-code-samples:
13719
+ - lang: Node.js
13720
+ source: |
13721
+ try {
13722
+ const export_dates = await client.getExportDates()
13723
+ export_dates.dates.forEach(date => {
13724
+ console.log(`Exports are available for: ${date}`)
13725
+ })
13726
+ } catch (err) {
13727
+ if (err instanceof recurly.ApiError) {
13728
+ console.log('Unexpected error', err)
13729
+ }
13730
+ }
13731
+ - lang: Python
13732
+ source: |
13733
+ try:
13734
+ export_dates = client.get_export_dates()
13735
+ for date in export_dates.dates:
13736
+ print( "Exports are available for: %s" % date)
13737
+ except recurly.errors.NotFoundError:
13738
+ # If the resource was not found, you may want to alert the user or
13739
+ # just return nil
13740
+ print("Resource Not Found")
13741
+ - lang: ".NET"
13742
+ source: |
13743
+ try
13744
+ {
13745
+ ExportDates exportDates = client.GetExportDates();
13746
+ foreach (var date in exportDates.Dates)
13747
+ {
13748
+ System.Console.WriteLine($"Exports are available for: {date}");
13749
+ }
13750
+ }
13751
+ catch (Recurly.Errors.ApiError ex)
13752
+ {
13753
+ // Use ApiError to catch a generic error from the API
13754
+ Console.WriteLine($"Unexpected Recurly Error: {ex.Error.Message}");
13755
+ }
13756
+ - lang: Ruby
13757
+ source: |
13758
+ begin
13759
+ export_dates = @client.get_export_dates()
13760
+ export_dates.dates.each do |date|
13761
+ puts "Exports are available for: #{date}"
13762
+ end
13763
+ rescue Recurly::Errors::NotFoundError
13764
+ # If the resource was not found, you may want to alert the user or
13765
+ # just return nil
13766
+ puts "Resource Not Found"
13767
+ end
13768
+ - lang: Java
13769
+ source: |
13770
+ try {
13771
+ ExportDates exportDates = client.getExportDates();
13772
+ for (String date : exportDates.getDates()) {
13773
+ System.out.println("Exports are available for: " + date);
13774
+ }
13775
+ } catch (ApiException e) {
13776
+ // Use ApiException to catch a generic error from the API
13777
+ System.out.println("Unexpected Recurly Error: " + e.getError().getMessage());
13778
+ }
13779
+ - lang: PHP
13780
+ source: |
13781
+ try {
13782
+ $export_dates = $client->getExportDates();
13783
+ foreach($export_dates->getDates() as $date)
13784
+ {
13785
+ echo "Exports are available for: {$date}" . PHP_EOL;
13786
+ }
13787
+ } catch (\Recurly\RecurlyError $e) {
13788
+ echo 'Some unexpected Recurly error happened. Try again later.' . PHP_EOL;
13789
+ }
13790
+ - lang: Go
13791
+ source: "exportDates, err := client.GetExportDates()\nif e, ok := err.(*recurly.Error);
13792
+ ok {\n\tfmt.Printf(\"Unexpected Recurly error: %v\", e)\n\treturn nil, err\n}\n\nfor
13793
+ _, date := range exportDates.Dates {\n\tfmt.Println(\"Exports are available
13794
+ for: \", date)\n}"
13795
+ "/sites/{site_id}/export_dates/{export_date}/export_files":
13796
+ parameters:
13797
+ - "$ref": "#/components/parameters/site_id"
13798
+ - "$ref": "#/components/parameters/export_date"
13799
+ get:
13800
+ tags:
13801
+ - automated_exports
13802
+ operationId: get_export_files
13803
+ summary: List of the export files that are available to download.
13804
+ description: Returns a list of presigned URLs to download export files for the
13805
+ given date, with their MD5 sums.
13806
+ responses:
13807
+ '200':
13808
+ description: Returns a list of export files to download.
13809
+ content:
13810
+ application/json:
13811
+ schema:
13812
+ "$ref": "#/components/schemas/ExportFiles"
13813
+ '400':
13814
+ description: Invalid or unpermitted parameter.
13815
+ content:
13816
+ application/json:
13817
+ schema:
13818
+ "$ref": "#/components/schemas/Error"
13819
+ '404':
13820
+ description: Incorrect site ID or date.
13821
+ content:
13822
+ application/json:
13823
+ schema:
13824
+ "$ref": "#/components/schemas/Error"
13825
+ default:
13826
+ description: Unexpected error.
13827
+ content:
13828
+ application/json:
13829
+ schema:
13830
+ "$ref": "#/components/schemas/Error"
13831
+ x-code-samples:
13832
+ - lang: Node.js
13833
+ source: |
13834
+ try {
13835
+ const export_files = await client.getExportFiles(export_date)
13836
+ export_files.files.forEach(file => {
13837
+ console.log(`Export file download URL: ${file.href}`)
13838
+ })
13839
+ } catch (err) {
13840
+ if (err instanceof recurly.ApiError) {
13841
+ console.log('Unexpected error', err)
13842
+ }
13843
+ }
13844
+ - lang: Python
13845
+ source: |
13846
+ try:
13847
+ export_files = client.get_export_files(export_date)
13848
+ for file in export_files.files:
13849
+ print( "Export file download URL: %s" % file.href)
13850
+ except recurly.errors.NotFoundError:
13851
+ # If the resource was not found, you may want to alert the user or
13852
+ # just return nil
13853
+ print("Resource Not Found")
13854
+ - lang: ".NET"
13855
+ source: |
13856
+ try
13857
+ {
13858
+ ExportFiles exportFiles = client.GetExportFiles(exportDate: exportDate);
13859
+ foreach (var file in exportFiles.Files)
13860
+ {
13861
+ System.Console.WriteLine($"Export file download URL: {file.Href}");
13862
+ }
13863
+ }
13864
+ catch (Recurly.Errors.ApiError ex)
13865
+ {
13866
+ // Use ApiError to catch a generic error from the API
13867
+ Console.WriteLine($"Unexpected Recurly Error: {ex.Error.Message}");
13868
+ }
13869
+ - lang: Ruby
13870
+ source: |
13871
+ begin
13872
+ export_files = @client.get_export_files(export_date: export_date)
13873
+ export_files.files.each do |file|
13874
+ puts "Export file download URL: #{file.href}"
13875
+ end
13876
+ rescue Recurly::Errors::NotFoundError
13877
+ # If the resource was not found, you may want to alert the user or
13878
+ # just return nil
13879
+ puts "Resource Not Found"
13880
+ end
13881
+ - lang: Java
13882
+ source: |
13883
+ try {
13884
+ ExportFiles exportFiles = client.getExportFiles(exportDate);
13885
+ for (ExportFile file : exportFiles.getFiles()) {
13886
+ System.out.println("Export file download URL: " + file.getHref());
13887
+ }
13888
+ } catch (ApiException e) {
13889
+ // Use ApiException to catch a generic error from the API
13890
+ System.out.println("Unexpected Recurly Error: " + e.getError());
13891
+ }
13892
+ - lang: PHP
13893
+ source: |
13894
+ try {
13895
+ $export_files = $client->getExportFiles($export_date);
13896
+ foreach($export_files->getFiles() as $file)
13897
+ {
13898
+ echo "Export file download URL: {$file->getHref()}" . PHP_EOL;
13899
+ }
13900
+ } catch (\Recurly\RecurlyError $e) {
13901
+ echo 'Some unexpected Recurly error happened. Try again later.' . PHP_EOL;
13902
+ }
13903
+ - lang: Go
13904
+ source: "exportFiles, err := client.GetExportFiles(exportDate)\nif e, ok :=
13905
+ err.(*recurly.Error); ok {\n\tfmt.Printf(\"Unexpected Recurly error: %v\",
13906
+ e)\n\treturn nil, err\n}\n\nfor _, file := range exportFiles.Files {\n\tfmt.Println(\"Export
13907
+ file download URL: \", file.Href)\n}"
13153
13908
  servers:
13154
13909
  - url: https://v3.recurly.com
13155
13910
  components:
@@ -13178,6 +13933,13 @@ components:
13178
13933
  required: true
13179
13934
  schema:
13180
13935
  type: string
13936
+ usage_id:
13937
+ name: usage_id
13938
+ in: path
13939
+ description: Usage Record ID.
13940
+ required: true
13941
+ schema:
13942
+ type: string
13181
13943
  coupon_id:
13182
13944
  name: coupon_id
13183
13945
  in: path
@@ -13217,6 +13979,14 @@ components:
13217
13979
  required: true
13218
13980
  schema:
13219
13981
  type: string
13982
+ measured_unit_id:
13983
+ name: measured_unit_id
13984
+ in: path
13985
+ description: Measured unit ID or name. For ID no prefix is used e.g. `e28zov4fw0v2`.
13986
+ For name use prefix `name-`, e.g. `name-Storage`.
13987
+ required: true
13988
+ schema:
13989
+ type: string
13220
13990
  line_item_id:
13221
13991
  name: line_item_id
13222
13992
  in: path
@@ -13324,6 +14094,30 @@ components:
13324
14094
  - created_at
13325
14095
  - updated_at
13326
14096
  default: created_at
14097
+ usage_sort_dates:
14098
+ name: sort
14099
+ in: query
14100
+ description: |
14101
+ Sort field. You *really* only want to sort by `usage_timestamp` in ascending
14102
+ order. In descending order updated records will move behind the cursor and could
14103
+ prevent some records from being returned.
14104
+ schema:
14105
+ type: string
14106
+ default: usage_timestamp
14107
+ enum:
14108
+ - recorded_timestamp
14109
+ - usage_timestamp
14110
+ billing_status:
14111
+ name: billing_status
14112
+ in: query
14113
+ description: Filter by usage record's billing status
14114
+ schema:
14115
+ type: string
14116
+ default: unbilled
14117
+ enum:
14118
+ - unbilled
14119
+ - billed
14120
+ - all
13327
14121
  filter_state:
13328
14122
  name: state
13329
14123
  in: query
@@ -13355,7 +14149,7 @@ components:
13355
14149
  name: begin_time
13356
14150
  in: query
13357
14151
  description: |
13358
- Filter by begin_time when `sort=created_at` or `sort=updated_at`.
14152
+ Inclusively filter by begin_time when `sort=created_at` or `sort=updated_at`.
13359
14153
  **Note:** this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
13360
14154
  schema:
13361
14155
  type: string
@@ -13364,7 +14158,25 @@ components:
13364
14158
  name: end_time
13365
14159
  in: query
13366
14160
  description: |
13367
- Filter by end_time when `sort=created_at` or `sort=updated_at`.
14161
+ Inclusively filter by end_time when `sort=created_at` or `sort=updated_at`.
14162
+ **Note:** this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
14163
+ schema:
14164
+ type: string
14165
+ format: date-time
14166
+ filter_usage_begin_time:
14167
+ name: begin_time
14168
+ in: query
14169
+ description: |
14170
+ Inclusively filter by begin_time when `sort=usage_timestamp` or `sort=recorded_timestamp`.
14171
+ **Note:** this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
14172
+ schema:
14173
+ type: string
14174
+ format: date-time
14175
+ filter_usage_end_time:
14176
+ name: end_time
14177
+ in: query
14178
+ description: |
14179
+ Inclusively filter by end_time when `sort=usage_timestamp` or `sort=recorded_timestamp`.
13368
14180
  **Note:** this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
13369
14181
  schema:
13370
14182
  type: string
@@ -13457,6 +14269,14 @@ components:
13457
14269
  - credit
13458
14270
  - non-legacy
13459
14271
  - legacy
14272
+ export_date:
14273
+ name: export_date
14274
+ in: path
14275
+ description: Date for which to get a list of available automated export files.
14276
+ Date must be in YYYY-MM-DD format.
14277
+ required: true
14278
+ schema:
14279
+ type: string
13460
14280
  securitySchemes:
13461
14281
  api_key:
13462
14282
  type: http
@@ -13642,6 +14462,23 @@ components:
13642
14462
  type: array
13643
14463
  items:
13644
14464
  "$ref": "#/components/schemas/Invoice"
14465
+ MeasuredUnitList:
14466
+ type: object
14467
+ properties:
14468
+ object:
14469
+ type: string
14470
+ title: Object type
14471
+ description: Will always be List.
14472
+ has_more:
14473
+ type: boolean
14474
+ description: Indicates there are more results on subsequent pages.
14475
+ next:
14476
+ type: string
14477
+ description: Path to subsequent page of results.
14478
+ data:
14479
+ type: array
14480
+ items:
14481
+ "$ref": "#/components/schemas/MeasuredUnit"
13645
14482
  LineItemList:
13646
14483
  type: object
13647
14484
  properties:
@@ -14286,6 +15123,32 @@ components:
14286
15123
  title: Name
14287
15124
  description: Describes your add-on and will appear in subscribers' invoices.
14288
15125
  maxLength: 255
15126
+ add_on_type:
15127
+ type: string
15128
+ enum:
15129
+ - fixed
15130
+ - usage
15131
+ title: Add-on Type
15132
+ description: Whether the add-on type is fixed, or usage-based.
15133
+ usage_type:
15134
+ type: string
15135
+ enum:
15136
+ - price
15137
+ - percentage
15138
+ title: Usage Type
15139
+ description: Type of usage, returns usage type if `add_on_type` is `usage`.
15140
+ usage_percentage:
15141
+ type: number
15142
+ format: float
15143
+ title: Usage Percentage
15144
+ description: The percentage taken of the monetary amount of usage tracked.
15145
+ This can be up to 4 decimal places. A value between 0.0 and 100.0.
15146
+ measured_unit_id:
15147
+ type: string
15148
+ title: Measured Unit ID
15149
+ description: System-generated unique identifier for an measured unit associated
15150
+ with the add-on.
15151
+ maxLength: 13
14289
15152
  item_id:
14290
15153
  type: string
14291
15154
  title: Item ID
@@ -14342,6 +15205,32 @@ components:
14342
15205
  title: Name
14343
15206
  description: Describes your add-on and will appear in subscribers' invoices.
14344
15207
  maxLength: 255
15208
+ add_on_type:
15209
+ type: string
15210
+ enum:
15211
+ - fixed
15212
+ - usage
15213
+ title: Add-on Type
15214
+ description: Whether the add-on type is fixed, or usage-based.
15215
+ usage_type:
15216
+ type: string
15217
+ enum:
15218
+ - price
15219
+ - percentage
15220
+ title: Usage Type
15221
+ description: Type of usage, returns usage type if `add_on_type` is `usage`.
15222
+ usage_percentage:
15223
+ type: number
15224
+ format: float
15225
+ title: Usage Percentage
15226
+ description: The percentage taken of the monetary amount of usage tracked.
15227
+ This can be up to 4 decimal places. A value between 0.0 and 100.0.
15228
+ measured_unit_id:
15229
+ type: string
15230
+ title: Measured Unit ID
15231
+ description: System-generated unique identifier for an measured unit associated
15232
+ with the add-on.
15233
+ maxLength: 13
14345
15234
  accounting_code:
14346
15235
  type: string
14347
15236
  title: Accounting code
@@ -14360,6 +15249,22 @@ components:
14360
15249
  - evenly
14361
15250
  - at_range_end
14362
15251
  - at_range_start
15252
+ avalara_transaction_type:
15253
+ type: integer
15254
+ title: Avalara Transaction Type
15255
+ description: Used by Avalara for Communications taxes. The transaction type
15256
+ in combination with the service type describe how the add-on is taxed.
15257
+ Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
15258
+ for more available t/s types.
15259
+ minimum: 0
15260
+ avalara_service_type:
15261
+ type: integer
15262
+ title: Avalara Service Type
15263
+ description: Used by Avalara for Communications taxes. The transaction type
15264
+ in combination with the service type describe how the add-on is taxed.
15265
+ Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
15266
+ for more available t/s types.
15267
+ minimum: 0
14363
15268
  tax_code:
14364
15269
  type: string
14365
15270
  title: Tax code
@@ -14465,11 +15370,52 @@ components:
14465
15370
  maxLength: 50
14466
15371
  name:
14467
15372
  type: string
14468
- title: Name
14469
- description: Describes your add-on and will appear in subscribers' invoices.
14470
- If `item_code`/`item_id` is part of the request then `name` must be absent.
14471
- If `item_code`/`item_id` is not present `name` is required.
14472
- maxLength: 255
15373
+ title: Name
15374
+ description: Describes your add-on and will appear in subscribers' invoices.
15375
+ If `item_code`/`item_id` is part of the request then `name` must be absent.
15376
+ If `item_code`/`item_id` is not present `name` is required.
15377
+ maxLength: 255
15378
+ add_on_type:
15379
+ type: string
15380
+ enum:
15381
+ - fixed
15382
+ - usage
15383
+ title: Add-on Type
15384
+ description: Whether the add-on type is fixed, or usage-based.
15385
+ default: fixed
15386
+ usage_type:
15387
+ type: string
15388
+ enum:
15389
+ - price
15390
+ - percentage
15391
+ title: Usage Type
15392
+ description: |
15393
+ Type of usage, required if `add_on_type` is `usage`. See our
15394
+ [Guide](https://developers.recurly.com/guides/usage-based-billing-guide.html)
15395
+ for an overview of how to configure usage add-ons.
15396
+ usage_percentage:
15397
+ type: number
15398
+ format: float
15399
+ title: Usage Percentage
15400
+ description: The percentage taken of the monetary amount of usage tracked.
15401
+ This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
15402
+ if `add_on_type` is usage and `usage_type` is percentage. Must be omitted
15403
+ otherwise. `usage_percentage` does not support tiers.
15404
+ measured_unit_id:
15405
+ type: string
15406
+ title: Measured Unit ID
15407
+ description: System-generated unique identifier for a measured unit to be
15408
+ associated with the add-on. Either `measured_unit_id` or `measured_unit_name`
15409
+ are required when `add_on_type` is `usage`. If `measured_unit_id` and
15410
+ `measured_unit_name` are both present, `measured_unit_id` will be used.
15411
+ maxLength: 13
15412
+ measured_unit_name:
15413
+ type: string
15414
+ title: Measured Unit Name
15415
+ description: Name of a measured unit to be associated with the add-on. Either
15416
+ `measured_unit_id` or `measured_unit_name` are required when `add_on_type`
15417
+ is `usage`. If `measured_unit_id` and `measured_unit_name` are both present,
15418
+ `measured_unit_id` will be used.
14473
15419
  plan_id:
14474
15420
  type: string
14475
15421
  title: Plan ID
@@ -14513,6 +15459,24 @@ components:
14513
15459
  be included when a subscription is created through the Recurly UI. However,
14514
15460
  the add-on will not be included when a subscription is created through
14515
15461
  the API.
15462
+ avalara_transaction_type:
15463
+ type: integer
15464
+ title: Avalara Transaction Type
15465
+ description: Used by Avalara for Communications taxes. The transaction type
15466
+ in combination with the service type describe how the add-on is taxed.
15467
+ Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
15468
+ for more available t/s types. If an `Item` is associated to the `AddOn`,
15469
+ then the `avalara_transaction_type` must be absent.
15470
+ minimum: 0
15471
+ avalara_service_type:
15472
+ type: integer
15473
+ title: Avalara Service Type
15474
+ description: Used by Avalara for Communications taxes. The transaction type
15475
+ in combination with the service type describe how the add-on is taxed.
15476
+ Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
15477
+ for more available t/s types. If an `Item` is associated to the `AddOn`,
15478
+ then the `avalara_service_type` must be absent.
15479
+ minimum: 0
14516
15480
  tax_code:
14517
15481
  type: string
14518
15482
  title: Tax code
@@ -14541,7 +15505,9 @@ components:
14541
15505
  title: Tier type
14542
15506
  description: |
14543
15507
  The pricing model for the add-on. For more information,
14544
- [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based).
15508
+ [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See
15509
+ our [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview
15510
+ of how to configure quantity-based pricing models.
14545
15511
  default: flat
14546
15512
  enum:
14547
15513
  - flat
@@ -14584,6 +15550,29 @@ components:
14584
15550
  description: Describes your add-on and will appear in subscribers' invoices.
14585
15551
  If an `Item` is associated to the `AddOn` then `name` must be absent.
14586
15552
  maxLength: 255
15553
+ usage_percentage:
15554
+ type: number
15555
+ format: float
15556
+ title: Usage Percentage
15557
+ description: The percentage taken of the monetary amount of usage tracked.
15558
+ This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
15559
+ if `add_on_type` is usage and `usage_type` is percentage. Must be omitted
15560
+ otherwise. `usage_percentage` does not support tiers.
15561
+ measured_unit_id:
15562
+ type: string
15563
+ title: Measured Unit ID
15564
+ description: System-generated unique identifier for a measured unit to be
15565
+ associated with the add-on. Either `measured_unit_id` or `measured_unit_name`
15566
+ are required when `add_on_type` is `usage`. If `measured_unit_id` and
15567
+ `measured_unit_name` are both present, `measured_unit_id` will be used.
15568
+ maxLength: 13
15569
+ measured_unit_name:
15570
+ type: string
15571
+ title: Measured Unit Name
15572
+ description: Name of a measured unit to be associated with the add-on. Either
15573
+ `measured_unit_id` or `measured_unit_name` are required when `add_on_type`
15574
+ is `usage`. If `measured_unit_id` and `measured_unit_name` are both present,
15575
+ `measured_unit_id` will be used.
14587
15576
  accounting_code:
14588
15577
  type: string
14589
15578
  title: Accounting code
@@ -14603,6 +15592,24 @@ components:
14603
15592
  - evenly
14604
15593
  - at_range_end
14605
15594
  - at_range_start
15595
+ avalara_transaction_type:
15596
+ type: integer
15597
+ title: Avalara Transaction Type
15598
+ description: Used by Avalara for Communications taxes. The transaction type
15599
+ in combination with the service type describe how the add-on is taxed.
15600
+ Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
15601
+ for more available t/s types. If an `Item` is associated to the `AddOn`,
15602
+ then the `avalara_transaction_type` must be absent.
15603
+ minimum: 0
15604
+ avalara_service_type:
15605
+ type: integer
15606
+ title: Avalara Service Type
15607
+ description: Used by Avalara for Communications taxes. The transaction type
15608
+ in combination with the service type describe how the add-on is taxed.
15609
+ Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
15610
+ for more available t/s types. If an `Item` is associated to the `AddOn`,
15611
+ then the `avalara_service_type` must be absent.
15612
+ minimum: 0
14606
15613
  tax_code:
14607
15614
  type: string
14608
15615
  title: Tax code
@@ -14955,8 +15962,8 @@ components:
14955
15962
  default: false
14956
15963
  plans_names:
14957
15964
  type: array
14958
- title: 'Plan names (TODO: decide if this duplicates `plans`)'
14959
- description: TODO
15965
+ title: Plan names
15966
+ description: A list of plan names for which this coupon applies.
14960
15967
  items:
14961
15968
  type: string
14962
15969
  plans:
@@ -14979,7 +15986,7 @@ components:
14979
15986
  "$ref": "#/components/schemas/CouponDiscount"
14980
15987
  coupon_type:
14981
15988
  type: string
14982
- title: 'Coupon type (TODO: implement coupon generation)'
15989
+ title: Coupon type
14983
15990
  description: Whether the coupon is "single_code" or "bulk". Bulk coupons
14984
15991
  will require a `unique_code_template` and will generate unique codes through
14985
15992
  the `/generate` endpoint.
@@ -15003,6 +16010,15 @@ components:
15003
16010
  description: The date and time the coupon will expire and can no longer
15004
16011
  be redeemed. Time is always 11:59:59, the end-of-day Pacific time.
15005
16012
  format: date-time
16013
+ bulk_coupon_id:
16014
+ type: string
16015
+ title: Bulk Coupon ID
16016
+ description: The Coupon ID of the parent Bulk Coupon
16017
+ readOnly: true
16018
+ bulk_coupon_code:
16019
+ type: string
16020
+ title: Bulk Coupon code
16021
+ description: The Coupon code of the parent Bulk Coupon
15006
16022
  redeemed_at:
15007
16023
  type: string
15008
16024
  title: Redeemed at
@@ -15081,13 +16097,17 @@ components:
15081
16097
  applies_to_all_plans:
15082
16098
  type: boolean
15083
16099
  title: Applies to all plans?
15084
- description: The coupon is valid for all plans if true. If false then
16100
+ description: |
16101
+ The coupon is valid for all plans if true. If false then
15085
16102
  `plans` and `plans_names` will list the applicable plans.
15086
16103
  default: true
15087
16104
  plan_codes:
15088
16105
  type: array
15089
16106
  title: Plan codes
15090
- description: List of plan codes to which this coupon applies. See `applies_to_all_plans`
16107
+ description: |
16108
+ List of plan codes to which this coupon applies. Required
16109
+ if `applies_to_all_plans` is false. Overrides `applies_to_all_plans`
16110
+ when `applies_to_all_plans` is true.
15091
16111
  items:
15092
16112
  type: string
15093
16113
  duration:
@@ -15254,7 +16274,7 @@ components:
15254
16274
  "$ref": "#/components/schemas/CouponDiscount"
15255
16275
  coupon_type:
15256
16276
  type: string
15257
- title: 'Coupon type (TODO: implement coupon generation)'
16277
+ title: Coupon type
15258
16278
  description: Whether the coupon is "single_code" or "bulk". Bulk coupons
15259
16279
  will require a `unique_code_template` and will generate unique codes through
15260
16280
  the `/generate` endpoint.
@@ -15657,6 +16677,22 @@ components:
15657
16677
  - evenly
15658
16678
  - at_range_end
15659
16679
  - at_range_start
16680
+ avalara_transaction_type:
16681
+ type: integer
16682
+ title: Avalara Transaction Type
16683
+ description: Used by Avalara for Communications taxes. The transaction type
16684
+ in combination with the service type describe how the item is taxed. Refer
16685
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
16686
+ for more available t/s types.
16687
+ minimum: 0
16688
+ avalara_service_type:
16689
+ type: integer
16690
+ title: Avalara Service Type
16691
+ description: Used by Avalara for Communications taxes. The transaction type
16692
+ in combination with the service type describe how the item is taxed. Refer
16693
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
16694
+ for more available t/s types.
16695
+ minimum: 0
15660
16696
  tax_code:
15661
16697
  type: string
15662
16698
  title: Tax code
@@ -15730,6 +16766,22 @@ components:
15730
16766
  - evenly
15731
16767
  - at_range_end
15732
16768
  - at_range_start
16769
+ avalara_transaction_type:
16770
+ type: integer
16771
+ title: Avalara Transaction Type
16772
+ description: Used by Avalara for Communications taxes. The transaction type
16773
+ in combination with the service type describe how the item is taxed. Refer
16774
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
16775
+ for more available t/s types.
16776
+ minimum: 0
16777
+ avalara_service_type:
16778
+ type: integer
16779
+ title: Avalara Service Type
16780
+ description: Used by Avalara for Communications taxes. The transaction type
16781
+ in combination with the service type describe how the item is taxed. Refer
16782
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
16783
+ for more available t/s types.
16784
+ minimum: 0
15733
16785
  tax_code:
15734
16786
  type: string
15735
16787
  title: Tax code
@@ -15791,6 +16843,22 @@ components:
15791
16843
  - evenly
15792
16844
  - at_range_end
15793
16845
  - at_range_start
16846
+ avalara_transaction_type:
16847
+ type: integer
16848
+ title: Avalara Transaction Type
16849
+ description: Used by Avalara for Communications taxes. The transaction type
16850
+ in combination with the service type describe how the item is taxed. Refer
16851
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
16852
+ for more available t/s types.
16853
+ minimum: 0
16854
+ avalara_service_type:
16855
+ type: integer
16856
+ title: Avalara Service Type
16857
+ description: Used by Avalara for Communications taxes. The transaction type
16858
+ in combination with the service type describe how the item is taxed. Refer
16859
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
16860
+ for more available t/s types.
16861
+ minimum: 0
15794
16862
  tax_code:
15795
16863
  type: string
15796
16864
  title: Tax code
@@ -15843,6 +16911,7 @@ components:
15843
16911
  - credit
15844
16912
  - gift_card
15845
16913
  - write_off
16914
+ - prepayment
15846
16915
  state:
15847
16916
  type: string
15848
16917
  title: Invoice state
@@ -16270,6 +17339,95 @@ components:
16270
17339
  - payment_method
16271
17340
  required:
16272
17341
  - type
17342
+ MeasuredUnit:
17343
+ type: object
17344
+ title: Measured unit
17345
+ properties:
17346
+ id:
17347
+ type: string
17348
+ title: Item ID
17349
+ maxLength: 13
17350
+ readOnly: true
17351
+ object:
17352
+ type: string
17353
+ title: Object type
17354
+ readOnly: true
17355
+ name:
17356
+ type: string
17357
+ title: Name
17358
+ description: Unique internal name of the measured unit on your site.
17359
+ display_name:
17360
+ type: string
17361
+ title: Display name
17362
+ description: Display name for the measured unit. Can only contain spaces,
17363
+ underscores and must be alphanumeric.
17364
+ maxLength: 50
17365
+ state:
17366
+ title: State
17367
+ description: The current state of the measured unit.
17368
+ readOnly: true
17369
+ type: string
17370
+ enum:
17371
+ - active
17372
+ - inactive
17373
+ description:
17374
+ type: string
17375
+ title: Description
17376
+ description: Optional internal description.
17377
+ created_at:
17378
+ type: string
17379
+ format: date-time
17380
+ title: Created at
17381
+ readOnly: true
17382
+ updated_at:
17383
+ type: string
17384
+ format: date-time
17385
+ title: Last updated at
17386
+ readOnly: true
17387
+ deleted_at:
17388
+ type: string
17389
+ format: date-time
17390
+ title: Deleted at
17391
+ readOnly: true
17392
+ MeasuredUnitCreate:
17393
+ type: object
17394
+ properties:
17395
+ name:
17396
+ type: string
17397
+ title: Name
17398
+ description: Unique internal name of the measured unit on your site.
17399
+ maxLength: 255
17400
+ display_name:
17401
+ type: string
17402
+ title: Display name
17403
+ description: Display name for the measured unit.
17404
+ pattern: "/^[\\w ]+$/"
17405
+ maxLength: 50
17406
+ description:
17407
+ type: string
17408
+ title: Description
17409
+ description: Optional internal description.
17410
+ required:
17411
+ - name
17412
+ - display_name
17413
+ MeasuredUnitUpdate:
17414
+ type: object
17415
+ properties:
17416
+ name:
17417
+ type: string
17418
+ title: Name
17419
+ description: Unique internal name of the measured unit on your site.
17420
+ maxLength: 255
17421
+ display_name:
17422
+ type: string
17423
+ title: Display name
17424
+ description: Display name for the measured unit.
17425
+ pattern: "/^[\\w ]+$/"
17426
+ maxLength: 50
17427
+ description:
17428
+ type: string
17429
+ title: Description
17430
+ description: Optional internal description.
16273
17431
  LineItem:
16274
17432
  type: object
16275
17433
  title: Line item
@@ -16502,6 +17660,22 @@ components:
16502
17660
  If not defined, then defaults to the Plan and Site settings. This attribute
16503
17661
  does not work for credits (negative line items). Credits are always applied
16504
17662
  post-tax. Pre-tax discounts should use the Coupons feature."
17663
+ avalara_transaction_type:
17664
+ type: integer
17665
+ title: Avalara Transaction Type
17666
+ description: Used by Avalara for Communications taxes. The transaction type
17667
+ in combination with the service type describe how the line item is taxed.
17668
+ Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
17669
+ for more available t/s types.
17670
+ minimum: 0
17671
+ avalara_service_type:
17672
+ type: integer
17673
+ title: Avalara Service Type
17674
+ description: Used by Avalara for Communications taxes. The transaction type
17675
+ in combination with the service type describe how the line item is taxed.
17676
+ Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
17677
+ for more available t/s types.
17678
+ minimum: 0
16505
17679
  tax_code:
16506
17680
  type: string
16507
17681
  title: Tax code
@@ -16667,6 +17841,24 @@ components:
16667
17841
  If not defined, then defaults to the Plan and Site settings. This attribute
16668
17842
  does not work for credits (negative line items). Credits are always applied
16669
17843
  post-tax. Pre-tax discounts should use the Coupons feature."
17844
+ avalara_transaction_type:
17845
+ type: integer
17846
+ title: Avalara Transaction Type
17847
+ description: Used by Avalara for Communications taxes. The transaction type
17848
+ in combination with the service type describe how the line item is taxed.
17849
+ Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
17850
+ for more available t/s types. If an `Item` is associated to the `LineItem`,
17851
+ then the `avalara_transaction_type` must be absent.
17852
+ minimum: 0
17853
+ avalara_service_type:
17854
+ type: integer
17855
+ title: Avalara Service Type
17856
+ description: Used by Avalara for Communications taxes. The transaction type
17857
+ in combination with the service type describe how the line item is taxed.
17858
+ Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
17859
+ for more available t/s types. If an `Item` is associated to the `LineItem`,
17860
+ then the `avalara_service_type` must be absent.
17861
+ minimum: 0
16670
17862
  tax_code:
16671
17863
  type: string
16672
17864
  title: Tax code
@@ -16688,12 +17880,16 @@ components:
16688
17880
  origin:
16689
17881
  type: string
16690
17882
  title: Origin
16691
- description: Only allowed if the Gift Cards feature is enabled on your site
16692
- and `type` is `credit`. Can only have a value of `external_gift_card`.
16693
- Set this value in order to track gift card credits from external gift
16694
- cards (like InComm). It also skips billing information requirements.
17883
+ description: Origin `external_gift_card` is allowed if the Gift Cards feature
17884
+ is enabled on your site and `type` is `credit`. Set this value in order
17885
+ to track gift card credits from external gift cards (like InComm). It
17886
+ also skips billing information requirements. Origin `prepayment` is only
17887
+ allowed if `type` is `charge` and `tax_exempt` is left blank or set to
17888
+ true. This origin creates a charge and opposite credit on the account
17889
+ to be used for future invoices.
16695
17890
  enum:
16696
17891
  - external_gift_card
17892
+ - prepayment
16697
17893
  start_date:
16698
17894
  type: string
16699
17895
  format: date-time
@@ -16855,6 +18051,22 @@ components:
16855
18051
  fee. If no value is provided, it defaults to plan's accounting code.
16856
18052
  pattern: "/^[a-z0-9_+-]+$/"
16857
18053
  maxLength: 20
18054
+ avalara_transaction_type:
18055
+ type: integer
18056
+ title: Avalara Transaction Type
18057
+ description: Used by Avalara for Communications taxes. The transaction type
18058
+ in combination with the service type describe how the plan is taxed. Refer
18059
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
18060
+ for more available t/s types.
18061
+ minimum: 0
18062
+ avalara_service_type:
18063
+ type: integer
18064
+ title: Avalara Service Type
18065
+ description: Used by Avalara for Communications taxes. The transaction type
18066
+ in combination with the service type describe how the plan is taxed. Refer
18067
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
18068
+ for more available t/s types.
18069
+ minimum: 0
16858
18070
  tax_code:
16859
18071
  type: string
16860
18072
  title: Tax code
@@ -17003,6 +18215,22 @@ components:
17003
18215
  fee. If no value is provided, it defaults to plan's accounting code.
17004
18216
  pattern: "/^[a-z0-9_+-]+$/"
17005
18217
  maxLength: 20
18218
+ avalara_transaction_type:
18219
+ type: integer
18220
+ title: Avalara Transaction Type
18221
+ description: Used by Avalara for Communications taxes. The transaction type
18222
+ in combination with the service type describe how the plan is taxed. Refer
18223
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
18224
+ for more available t/s types.
18225
+ minimum: 0
18226
+ avalara_service_type:
18227
+ type: integer
18228
+ title: Avalara Service Type
18229
+ description: Used by Avalara for Communications taxes. The transaction type
18230
+ in combination with the service type describe how the plan is taxed. Refer
18231
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
18232
+ for more available t/s types.
18233
+ minimum: 0
17006
18234
  tax_code:
17007
18235
  type: string
17008
18236
  title: Tax code
@@ -17182,6 +18410,22 @@ components:
17182
18410
  fee. If no value is provided, it defaults to plan's accounting code.
17183
18411
  pattern: "/^[a-z0-9_+-]+$/"
17184
18412
  maxLength: 20
18413
+ avalara_transaction_type:
18414
+ type: integer
18415
+ title: Avalara Transaction Type
18416
+ description: Used by Avalara for Communications taxes. The transaction type
18417
+ in combination with the service type describe how the plan is taxed. Refer
18418
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
18419
+ for more available t/s types.
18420
+ minimum: 0
18421
+ avalara_service_type:
18422
+ type: integer
18423
+ title: Avalara Service Type
18424
+ description: Used by Avalara for Communications taxes. The transaction type
18425
+ in combination with the service type describe how the plan is taxed. Refer
18426
+ to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types)
18427
+ for more available t/s types.
18428
+ minimum: 0
17185
18429
  tax_code:
17186
18430
  type: string
17187
18431
  title: Tax code
@@ -17984,7 +19228,16 @@ components:
17984
19228
  items:
17985
19229
  "$ref": "#/components/schemas/SubscriptionAddOnTier"
17986
19230
  minItems: 1
17987
- description: Empty unless `tier_type` is `tiered`, `volume`, or `stairstep`.
19231
+ description: |
19232
+ If tiers are provided in the request, all existing tiers on the Subscription Add-on will be
19233
+ removed and replaced by the tiers in the request.
19234
+ usage_percentage:
19235
+ type: number
19236
+ format: float
19237
+ title: Usage Percentage
19238
+ description: The percentage taken of the monetary amount of usage tracked.
19239
+ This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
19240
+ if add_on_type is usage and usage_type is percentage.
17988
19241
  created_at:
17989
19242
  type: string
17990
19243
  format: date-time
@@ -18042,7 +19295,17 @@ components:
18042
19295
  If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object
18043
19296
  must include one to many tiers with `ending_quantity` and `unit_amount`.
18044
19297
  There must be one tier with an `ending_quantity` of 999999999 which is the
18045
- default if not provided.
19298
+ default if not provided. See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html)
19299
+ for an overview of how to configure quantity-based pricing models.
19300
+ usage_percentage:
19301
+ type: number
19302
+ format: float
19303
+ title: Usage Percentage
19304
+ description: The percentage taken of the monetary amount of usage tracked.
19305
+ This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
19306
+ if `add_on_type` is usage and `usage_type` is percentage. Must be omitted
19307
+ otherwise. `usage_percentage` does not support tiers. See our [Guide](https://developers.recurly.com/guides/usage-based-billing-guide.html)
19308
+ for an overview of how to configure usage add-ons.
18046
19309
  revenue_schedule_type:
18047
19310
  type: string
18048
19311
  title: Revenue schedule type
@@ -18106,6 +19369,13 @@ components:
18106
19369
  must include one to many tiers with `ending_quantity` and `unit_amount`.
18107
19370
  There must be one tier with an `ending_quantity` of 999999999 which is the
18108
19371
  default if not provided.
19372
+ usage_percentage:
19373
+ type: number
19374
+ format: float
19375
+ title: Usage Percentage
19376
+ description: The percentage taken of the monetary amount of usage tracked.
19377
+ This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
19378
+ if add_on_type is usage and usage_type is percentage.
18109
19379
  revenue_schedule_type:
18110
19380
  type: string
18111
19381
  title: Revenue schedule type
@@ -18201,6 +19471,11 @@ components:
18201
19471
  - evenly
18202
19472
  - at_range_end
18203
19473
  - at_range_start
19474
+ invoice_collection:
19475
+ title: Invoice Collection
19476
+ "$ref": "#/components/schemas/InvoiceCollection"
19477
+ custom_fields:
19478
+ "$ref": "#/components/schemas/CustomFields"
18204
19479
  created_at:
18205
19480
  type: string
18206
19481
  format: date-time
@@ -18276,10 +19551,11 @@ components:
18276
19551
  type: array
18277
19552
  title: Add-ons
18278
19553
  description: |
18279
- If you provide a value for this field it will replace any
18280
- existing add-ons. So, when adding or modifying an add-on, you need to
18281
- include the existing subscription add-ons. Unchanged add-ons can be included
18282
- just using the subscription add-on's ID: `{"id": "abc123"}`.
19554
+ If this value is omitted your existing add-ons will be removed. If you provide
19555
+ a value for this field it will replace any existing add-ons. So, when adding or
19556
+ modifying an add-on, you need to include the existing subscription add-ons.
19557
+ Unchanged add-ons can be included just using the subscription add-on's ID:
19558
+ `{"id": "abc123"}`.
18283
19559
 
18284
19560
  If a subscription add-on's `code` is supplied without the `id`,
18285
19561
  `{"code": "def456"}`, the subscription add-on attributes will be set to the
@@ -18308,6 +19584,8 @@ components:
18308
19584
  - evenly
18309
19585
  - at_range_end
18310
19586
  - at_range_start
19587
+ custom_fields:
19588
+ "$ref": "#/components/schemas/CustomFields"
18311
19589
  po_number:
18312
19590
  type: string
18313
19591
  title: Purchase order number
@@ -18332,12 +19610,9 @@ components:
18332
19610
  enum:
18333
19611
  - moto
18334
19612
  SubscriptionChangePreview:
19613
+ type: object
18335
19614
  allOf:
18336
19615
  - "$ref": "#/components/schemas/SubscriptionChange"
18337
- type: object
18338
- properties:
18339
- invoice_collection:
18340
- "$ref": "#/components/schemas/InvoiceCollection"
18341
19616
  SubscriptionChangeShippingCreate:
18342
19617
  type: object
18343
19618
  title: Shipping details that will be changed on a subscription
@@ -18564,6 +19839,13 @@ components:
18564
19839
  title: Trial ends at
18565
19840
  description: If set, overrides the default trial behavior for the subscription.
18566
19841
  The date must be in the future.
19842
+ starts_at:
19843
+ type: string
19844
+ format: date-time
19845
+ title: Start date
19846
+ description: If set, the subscription will begin in the future on this date.
19847
+ The subscription will apply the setup fee and trial period, unless the
19848
+ plan has no trial.
18567
19849
  next_bill_date:
18568
19850
  type: string
18569
19851
  format: date-time
@@ -19067,6 +20349,7 @@ components:
19067
20349
  to current datetime.
19068
20350
  UniqueCouponCode:
19069
20351
  type: object
20352
+ description: A unique coupon code for a bulk coupon.
19070
20353
  properties:
19071
20354
  id:
19072
20355
  type: string
@@ -19089,6 +20372,15 @@ components:
19089
20372
  - maxed_out
19090
20373
  - expired
19091
20374
  - inactive
20375
+ bulk_coupon_id:
20376
+ type: string
20377
+ title: Bulk Coupon ID
20378
+ description: The Coupon ID of the parent Bulk Coupon
20379
+ readOnly: true
20380
+ bulk_coupon_code:
20381
+ type: string
20382
+ title: Bulk Coupon code
20383
+ description: The Coupon code of the parent Bulk Coupon
19092
20384
  created_at:
19093
20385
  type: string
19094
20386
  title: Created at
@@ -19128,6 +20420,128 @@ components:
19128
20420
  type: array
19129
20421
  items:
19130
20422
  "$ref": "#/components/schemas/UniqueCouponCode"
20423
+ Usage:
20424
+ type: object
20425
+ properties:
20426
+ id:
20427
+ type: string
20428
+ object:
20429
+ type: string
20430
+ title: Object type
20431
+ merchant_tag:
20432
+ type: string
20433
+ description: Custom field for recording the id in your own system associated
20434
+ with the usage, so you can provide auditable usage displays to your customers
20435
+ using a GET on this endpoint.
20436
+ amount:
20437
+ type: number
20438
+ format: float
20439
+ description: The amount of usage. Can be positive, negative, or 0. No decimals
20440
+ allowed, we will strip them. If the usage-based add-on is billed with
20441
+ a percentage, your usage will be a monetary amount you will want to format
20442
+ in cents. (e.g., $5.00 is "500").
20443
+ usage_type:
20444
+ type: string
20445
+ enum:
20446
+ - price
20447
+ - percentage
20448
+ title: Usage Type
20449
+ description: Type of usage, returns usage type if `add_on_type` is `usage`.
20450
+ tier_type:
20451
+ type: string
20452
+ title: Tier type
20453
+ description: |
20454
+ The pricing model for the add-on. For more information,
20455
+ [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based).
20456
+ default: flat
20457
+ enum:
20458
+ - flat
20459
+ - tiered
20460
+ - stairstep
20461
+ - volume
20462
+ tiers:
20463
+ type: array
20464
+ title: Tiers
20465
+ items:
20466
+ "$ref": "#/components/schemas/SubscriptionAddOnTier"
20467
+ description: The tiers and prices of the subscription based on the usage_timestamp.
20468
+ If tier_type = flat, tiers = null
20469
+ measured_unit_id:
20470
+ type: string
20471
+ description: The ID of the measured unit associated with the add-on the
20472
+ usage record is for.
20473
+ recording_timestamp:
20474
+ type: string
20475
+ format: date-time
20476
+ description: When the usage was recorded in your system.
20477
+ usage_timestamp:
20478
+ type: string
20479
+ format: date-time
20480
+ description: When the usage actually happened. This will define the line
20481
+ item dates this usage is billed under and is important for revenue recognition.
20482
+ usage_percentage:
20483
+ type: number
20484
+ format: float
20485
+ title: Usage Percentage
20486
+ description: The percentage taken of the monetary amount of usage tracked.
20487
+ This can be up to 4 decimal places. A value between 0.0 and 100.0.
20488
+ unit_amount:
20489
+ type: number
20490
+ format: float
20491
+ title: Unit price
20492
+ billed_at:
20493
+ type: string
20494
+ format: date-time
20495
+ description: When the usage record was billed on an invoice.
20496
+ created_at:
20497
+ type: string
20498
+ format: date-time
20499
+ description: When the usage record was created in Recurly.
20500
+ updated_at:
20501
+ type: string
20502
+ format: date-time
20503
+ description: When the usage record was billed on an invoice.
20504
+ UsageCreate:
20505
+ type: object
20506
+ properties:
20507
+ merchant_tag:
20508
+ type: string
20509
+ description: Custom field for recording the id in your own system associated
20510
+ with the usage, so you can provide auditable usage displays to your customers
20511
+ using a GET on this endpoint.
20512
+ amount:
20513
+ type: number
20514
+ format: float
20515
+ description: The amount of usage. Can be positive, negative, or 0. No decimals
20516
+ allowed, we will strip them. If the usage-based add-on is billed with
20517
+ a percentage, your usage will be a monetary amount you will want to format
20518
+ in cents. (e.g., $5.00 is "500").
20519
+ recording_timestamp:
20520
+ type: string
20521
+ format: date-time
20522
+ description: When the usage was recorded in your system.
20523
+ usage_timestamp:
20524
+ type: string
20525
+ format: date-time
20526
+ description: When the usage actually happened. This will define the line
20527
+ item dates this usage is billed under and is important for revenue recognition.
20528
+ UsageList:
20529
+ type: object
20530
+ properties:
20531
+ object:
20532
+ type: string
20533
+ title: Object type
20534
+ description: Will always be List.
20535
+ has_more:
20536
+ type: boolean
20537
+ description: Indicates there are more results on subsequent pages.
20538
+ next:
20539
+ type: string
20540
+ description: Path to subsequent page of results.
20541
+ data:
20542
+ type: array
20543
+ items:
20544
+ "$ref": "#/components/schemas/Usage"
19131
20545
  User:
19132
20546
  type: object
19133
20547
  properties:
@@ -19224,8 +20638,8 @@ components:
19224
20638
  type: string
19225
20639
  title: Shipping address ID
19226
20640
  description: Assign a shipping address from the account's existing shipping
19227
- addresses. If this and `shipping_address` are both present, `shipping_address`
19228
- will take precedence.
20641
+ addresses. If this and `address` are both present, `address` will
20642
+ take precedence.
19229
20643
  maxLength: 13
19230
20644
  address:
19231
20645
  "$ref": "#/components/schemas/ShippingAddressCreate"
@@ -19417,6 +20831,7 @@ components:
19417
20831
  title: Category
19418
20832
  enum:
19419
20833
  - 3d_secure_required
20834
+ - 3d_secure_action_required
19420
20835
  - amazon
19421
20836
  - api_error
19422
20837
  - approved
@@ -19569,3 +20984,41 @@ components:
19569
20984
  a transaction. Pass this value to Recurly.js so it can continue
19570
20985
  the challenge flow.
19571
20986
  maxLength: 22
20987
+ ExportDates:
20988
+ type: object
20989
+ properties:
20990
+ object:
20991
+ type: string
20992
+ title: Object type
20993
+ readOnly: true
20994
+ dates:
20995
+ type: array
20996
+ items:
20997
+ type: string
20998
+ title: An array of dates that have available exports.
20999
+ ExportFiles:
21000
+ type: object
21001
+ properties:
21002
+ object:
21003
+ type: string
21004
+ title: Object type
21005
+ readOnly: true
21006
+ files:
21007
+ type: array
21008
+ items:
21009
+ "$ref": "#/components/schemas/ExportFile"
21010
+ ExportFile:
21011
+ type: object
21012
+ properties:
21013
+ name:
21014
+ type: string
21015
+ title: Filename
21016
+ description: Name of the export file.
21017
+ md5sum:
21018
+ type: string
21019
+ title: MD5 hash of the export file
21020
+ description: MD5 hash of the export file.
21021
+ href:
21022
+ type: string
21023
+ title: A link to the export file
21024
+ description: A presigned link to download the export file.