recurly 3.8.0 → 3.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -2
  3. data/CHANGELOG.md +64 -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/operations.rb +399 -56
  9. data/lib/recurly/errors/api_errors.rb +59 -17
  10. data/lib/recurly/requests/add_on_create.rb +29 -1
  11. data/lib/recurly/requests/add_on_update.rb +20 -0
  12. data/lib/recurly/requests/coupon_create.rb +1 -1
  13. data/lib/recurly/requests/item_create.rb +8 -0
  14. data/lib/recurly/requests/item_update.rb +8 -0
  15. data/lib/recurly/requests/line_item_create.rb +9 -1
  16. data/lib/recurly/requests/measured_unit_create.rb +22 -0
  17. data/lib/recurly/requests/measured_unit_update.rb +22 -0
  18. data/lib/recurly/requests/plan_create.rb +8 -0
  19. data/lib/recurly/requests/plan_update.rb +8 -0
  20. data/lib/recurly/requests/shipping_purchase.rb +1 -1
  21. data/lib/recurly/requests/subscription_add_on_create.rb +6 -2
  22. data/lib/recurly/requests/subscription_add_on_update.rb +9 -1
  23. data/lib/recurly/requests/subscription_change_create.rb +5 -1
  24. data/lib/recurly/requests/subscription_purchase.rb +4 -0
  25. data/lib/recurly/requests/usage_create.rb +26 -0
  26. data/lib/recurly/resources/add_on.rb +24 -0
  27. data/lib/recurly/resources/add_on_mini.rb +16 -0
  28. data/lib/recurly/resources/coupon.rb +9 -1
  29. data/lib/recurly/resources/export_dates.rb +18 -0
  30. data/lib/recurly/resources/export_file.rb +22 -0
  31. data/lib/recurly/resources/export_files.rb +18 -0
  32. data/lib/recurly/resources/item.rb +8 -0
  33. data/lib/recurly/resources/line_item.rb +8 -0
  34. data/lib/recurly/resources/measured_unit.rb +46 -0
  35. data/lib/recurly/resources/plan.rb +8 -0
  36. data/lib/recurly/resources/subscription_add_on.rb +5 -1
  37. data/lib/recurly/resources/subscription_change.rb +8 -0
  38. data/lib/recurly/resources/subscription_change_preview.rb +5 -1
  39. data/lib/recurly/resources/unique_coupon_code.rb +8 -0
  40. data/lib/recurly/resources/usage.rb +70 -0
  41. data/lib/recurly/version.rb +1 -1
  42. data/openapi/api.yaml +1420 -145
  43. metadata +15 -6
@@ -10,6 +10,18 @@ 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
+
17
+ # @!attribute avalara_service_type
18
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the add-on 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_service_type, Integer
20
+
21
+ # @!attribute avalara_transaction_type
22
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the add-on 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_transaction_type, Integer
24
+
13
25
  # @!attribute code
14
26
  # @return [String] The unique identifier for the add-on within its plan.
15
27
  define_attribute :code, String
@@ -46,6 +58,10 @@ module Recurly
46
58
  # @return [ItemMini] Just the important parts.
47
59
  define_attribute :item, :ItemMini
48
60
 
61
+ # @!attribute measured_unit_id
62
+ # @return [String] System-generated unique identifier for an measured unit associated with the add-on.
63
+ define_attribute :measured_unit_id, String
64
+
49
65
  # @!attribute name
50
66
  # @return [String] Describes your add-on and will appear in subscribers' invoices.
51
67
  define_attribute :name, String
@@ -85,6 +101,14 @@ module Recurly
85
101
  # @!attribute updated_at
86
102
  # @return [DateTime] Last updated at
87
103
  define_attribute :updated_at, DateTime
104
+
105
+ # @!attribute usage_percentage
106
+ # @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.
107
+ define_attribute :usage_percentage, Float
108
+
109
+ # @!attribute usage_type
110
+ # @return [String] Type of usage, returns usage type if `add_on_type` is `usage`.
111
+ define_attribute :usage_type, String
88
112
  end
89
113
  end
90
114
  end
@@ -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.8.0"
2
+ VERSION = "3.13.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;
@@ -5444,6 +5486,8 @@ paths:
5444
5486
  - unique_coupon_code
5445
5487
  operationId: list_unique_coupon_codes
5446
5488
  summary: List unique coupon codes associated with a bulk coupon
5489
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
5490
+ to use pagination in the API and Client Libraries.
5447
5491
  parameters:
5448
5492
  - "$ref": "#/components/parameters/site_id"
5449
5493
  - "$ref": "#/components/parameters/coupon_id"
@@ -5479,6 +5523,8 @@ paths:
5479
5523
  - credit_payment
5480
5524
  operationId: list_credit_payments
5481
5525
  summary: List a site's credit payments
5526
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
5527
+ to use pagination in the API and Client Libraries.
5482
5528
  parameters:
5483
5529
  - "$ref": "#/components/parameters/site_id"
5484
5530
  - "$ref": "#/components/parameters/limit"
@@ -5596,6 +5642,8 @@ paths:
5596
5642
  - custom_field_definition
5597
5643
  operationId: list_custom_field_definitions
5598
5644
  summary: List a site's custom field definitions
5645
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
5646
+ to use pagination in the API and Client Libraries.
5599
5647
  parameters:
5600
5648
  - "$ref": "#/components/parameters/site_id"
5601
5649
  - "$ref": "#/components/parameters/ids"
@@ -5812,6 +5860,8 @@ paths:
5812
5860
  - item
5813
5861
  operationId: list_items
5814
5862
  summary: List a site's items
5863
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
5864
+ to use pagination in the API and Client Libraries.
5815
5865
  parameters:
5816
5866
  - "$ref": "#/components/parameters/site_id"
5817
5867
  - "$ref": "#/components/parameters/ids"
@@ -6079,11 +6129,11 @@ paths:
6079
6129
  - lang: PHP
6080
6130
  source: |
6081
6131
  try {
6082
- $item_create = array(
6132
+ $item_create = [
6083
6133
  "code" => $item_code,
6084
6134
  "name" => "Coffee Grinder",
6085
6135
  "description" => "A professional-grade bean grinder."
6086
- );
6136
+ ];
6087
6137
  $item = $client->createItem($item_create);
6088
6138
 
6089
6139
  echo 'Created Item:' . PHP_EOL;
@@ -6366,10 +6416,10 @@ paths:
6366
6416
  - lang: PHP
6367
6417
  source: |
6368
6418
  try {
6369
- $item_update = array(
6419
+ $item_update = [
6370
6420
  "name" => "Dark Roast Coffee Beans",
6371
6421
  "description" => "A special dark roast version.",
6372
- );
6422
+ ];
6373
6423
  $item = $client->updateItem($item_id, $item_update);
6374
6424
 
6375
6425
  echo 'Updated Item:' . PHP_EOL;
@@ -6632,12 +6682,200 @@ paths:
6632
6682
  validation: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
6633
6683
  Recurly error: %v\", e)\n\treturn nil, err\n}\nfmt.Printf(\"Reactivated
6634
6684
  Item: %s\", item.Id)"
6685
+ "/sites/{site_id}/measured_units":
6686
+ get:
6687
+ tags:
6688
+ - measured_unit
6689
+ operationId: list_measured_unit
6690
+ summary: List a site's measured units
6691
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
6692
+ to use pagination in the API and Client Libraries.
6693
+ parameters:
6694
+ - "$ref": "#/components/parameters/site_id"
6695
+ - "$ref": "#/components/parameters/ids"
6696
+ - "$ref": "#/components/parameters/limit"
6697
+ - "$ref": "#/components/parameters/order"
6698
+ - "$ref": "#/components/parameters/sort_dates"
6699
+ - "$ref": "#/components/parameters/filter_begin_time"
6700
+ - "$ref": "#/components/parameters/filter_end_time"
6701
+ - "$ref": "#/components/parameters/filter_state"
6702
+ responses:
6703
+ '200':
6704
+ description: A list of the site's measured units.
6705
+ content:
6706
+ application/json:
6707
+ schema:
6708
+ "$ref": "#/components/schemas/MeasuredUnitList"
6709
+ '404':
6710
+ description: Incorrect site ID.
6711
+ content:
6712
+ application/json:
6713
+ schema:
6714
+ "$ref": "#/components/schemas/Error"
6715
+ default:
6716
+ description: Unexpected error.
6717
+ content:
6718
+ application/json:
6719
+ schema:
6720
+ "$ref": "#/components/schemas/Error"
6721
+ x-code-samples: []
6722
+ post:
6723
+ tags:
6724
+ - measured_unit
6725
+ operationId: create_measured_unit
6726
+ summary: Create a new measured unit
6727
+ parameters:
6728
+ - "$ref": "#/components/parameters/site_id"
6729
+ requestBody:
6730
+ content:
6731
+ application/json:
6732
+ schema:
6733
+ "$ref": "#/components/schemas/MeasuredUnitCreate"
6734
+ required: true
6735
+ responses:
6736
+ '201':
6737
+ description: A new measured unit.
6738
+ content:
6739
+ application/json:
6740
+ schema:
6741
+ "$ref": "#/components/schemas/MeasuredUnit"
6742
+ '400':
6743
+ description: Bad request, perhaps invalid JSON?
6744
+ content:
6745
+ application/json:
6746
+ schema:
6747
+ "$ref": "#/components/schemas/Error"
6748
+ '404':
6749
+ description: Incorrect site ID.
6750
+ content:
6751
+ application/json:
6752
+ schema:
6753
+ "$ref": "#/components/schemas/Error"
6754
+ '422':
6755
+ description: Invalid request parameters.
6756
+ content:
6757
+ application/json:
6758
+ schema:
6759
+ "$ref": "#/components/schemas/Error"
6760
+ default:
6761
+ description: Unexpected error.
6762
+ content:
6763
+ application/json:
6764
+ schema:
6765
+ "$ref": "#/components/schemas/Error"
6766
+ x-code-samples: []
6767
+ "/sites/{site_id}/measured_units/{measured_unit_id}":
6768
+ get:
6769
+ tags:
6770
+ - measured_unit
6771
+ operationId: get_measured_unit
6772
+ summary: Fetch a measured unit
6773
+ parameters:
6774
+ - "$ref": "#/components/parameters/site_id"
6775
+ - "$ref": "#/components/parameters/measured_unit_id"
6776
+ responses:
6777
+ '200':
6778
+ description: An item.
6779
+ content:
6780
+ application/json:
6781
+ schema:
6782
+ "$ref": "#/components/schemas/MeasuredUnit"
6783
+ '404':
6784
+ description: Incorrect site or measured unit ID.
6785
+ content:
6786
+ application/json:
6787
+ schema:
6788
+ "$ref": "#/components/schemas/Error"
6789
+ default:
6790
+ description: Unexpected error.
6791
+ content:
6792
+ application/json:
6793
+ schema:
6794
+ "$ref": "#/components/schemas/Error"
6795
+ x-code-samples: []
6796
+ put:
6797
+ tags:
6798
+ - measured_unit
6799
+ operationId: update_measured_unit
6800
+ summary: Update a measured unit
6801
+ parameters:
6802
+ - "$ref": "#/components/parameters/site_id"
6803
+ - "$ref": "#/components/parameters/measured_unit_id"
6804
+ requestBody:
6805
+ content:
6806
+ application/json:
6807
+ schema:
6808
+ "$ref": "#/components/schemas/MeasuredUnitUpdate"
6809
+ required: true
6810
+ responses:
6811
+ '200':
6812
+ description: The updated measured_unit.
6813
+ content:
6814
+ application/json:
6815
+ schema:
6816
+ "$ref": "#/components/schemas/MeasuredUnit"
6817
+ '400':
6818
+ description: Bad request, perhaps invalid JSON?
6819
+ content:
6820
+ application/json:
6821
+ schema:
6822
+ "$ref": "#/components/schemas/Error"
6823
+ '404':
6824
+ description: Incorrect site or measured unit ID.
6825
+ content:
6826
+ application/json:
6827
+ schema:
6828
+ "$ref": "#/components/schemas/Error"
6829
+ '422':
6830
+ description: Invalid request parameters
6831
+ content:
6832
+ application/json:
6833
+ schema:
6834
+ "$ref": "#/components/schemas/Error"
6835
+ default:
6836
+ description: Unexpected error.
6837
+ content:
6838
+ application/json:
6839
+ schema:
6840
+ "$ref": "#/components/schemas/Error"
6841
+ x-code-samples: []
6842
+ delete:
6843
+ tags:
6844
+ - measured_unit
6845
+ operationId: remove_measured_unit
6846
+ summary: Remove a measured unit
6847
+ description: A mesured unit cannot be deleted if it is used by an active plan.
6848
+ parameters:
6849
+ - "$ref": "#/components/parameters/site_id"
6850
+ - "$ref": "#/components/parameters/measured_unit_id"
6851
+ responses:
6852
+ '200':
6853
+ description: A measured unit.
6854
+ content:
6855
+ application/json:
6856
+ schema:
6857
+ "$ref": "#/components/schemas/MeasuredUnit"
6858
+ '422':
6859
+ description: Measured unit may already be inactive.
6860
+ content:
6861
+ application/json:
6862
+ schema:
6863
+ "$ref": "#/components/schemas/Error"
6864
+ default:
6865
+ description: Unexpected error.
6866
+ content:
6867
+ application/json:
6868
+ schema:
6869
+ "$ref": "#/components/schemas/Error"
6870
+ x-code-samples: []
6635
6871
  "/sites/{site_id}/invoices":
6636
6872
  get:
6637
6873
  tags:
6638
6874
  - invoice
6639
6875
  operationId: list_invoices
6640
6876
  summary: List a site's invoices
6877
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
6878
+ to use pagination in the API and Client Libraries.
6641
6879
  parameters:
6642
6880
  - "$ref": "#/components/parameters/site_id"
6643
6881
  - "$ref": "#/components/parameters/ids"
@@ -6964,10 +7202,10 @@ paths:
6964
7202
  - lang: PHP
6965
7203
  source: |
6966
7204
  try {
6967
- $invoice_update = array(
7205
+ $invoice_update = [
6968
7206
  "customer_notes" => "New Notes",
6969
7207
  "terms_and_conditions" => "New terms and conditions",
6970
- );
7208
+ ];
6971
7209
  $invoice = $client->putInvoice($invoice_id, $invoice_update);
6972
7210
 
6973
7211
  echo 'Updated Invoice:' . PHP_EOL;
@@ -7817,6 +8055,8 @@ paths:
7817
8055
  - line_item
7818
8056
  operationId: list_invoice_line_items
7819
8057
  summary: List an invoice's line items
8058
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
8059
+ to use pagination in the API and Client Libraries.
7820
8060
  parameters:
7821
8061
  - "$ref": "#/components/parameters/site_id"
7822
8062
  - "$ref": "#/components/parameters/invoice_id"
@@ -7918,6 +8158,8 @@ paths:
7918
8158
  - coupon_redemption
7919
8159
  operationId: list_invoice_coupon_redemptions
7920
8160
  summary: Show the coupon redemptions applied to an invoice
8161
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
8162
+ to use pagination in the API and Client Libraries.
7921
8163
  parameters:
7922
8164
  - "$ref": "#/components/parameters/site_id"
7923
8165
  - "$ref": "#/components/parameters/invoice_id"
@@ -8012,6 +8254,8 @@ paths:
8012
8254
  Related invoices provide a link between credit invoices and the charge invoices that they are refunding.
8013
8255
  For a charge invoice the related invoices will be credit invoices.
8014
8256
  For a credit invoice the related invoices will be charge invoices.
8257
+
8258
+ See the [Pagination Guide](/guides/pagination.html) to learn how to use pagination in the API and Client Libraries.
8015
8259
  parameters:
8016
8260
  - "$ref": "#/components/parameters/site_id"
8017
8261
  - "$ref": "#/components/parameters/invoice_id"
@@ -8230,10 +8474,10 @@ paths:
8230
8474
  - lang: PHP
8231
8475
  source: |
8232
8476
  try {
8233
- $refund = array(
8477
+ $refund = [
8234
8478
  "type" => "amount",
8235
8479
  "amount" => 1
8236
- );
8480
+ ];
8237
8481
  $invoice_collection = $client->refundInvoice($invoice_id, $refund);
8238
8482
 
8239
8483
  echo 'Refunded Invoice:' . PHP_EOL;
@@ -8261,6 +8505,8 @@ paths:
8261
8505
  - line_item
8262
8506
  operationId: list_line_items
8263
8507
  summary: List a site's line items
8508
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
8509
+ to use pagination in the API and Client Libraries.
8264
8510
  parameters:
8265
8511
  - "$ref": "#/components/parameters/site_id"
8266
8512
  - "$ref": "#/components/parameters/ids"
@@ -8589,6 +8835,8 @@ paths:
8589
8835
  - plan
8590
8836
  operationId: list_plans
8591
8837
  summary: List a site's plans
8838
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
8839
+ to use pagination in the API and Client Libraries.
8592
8840
  parameters:
8593
8841
  - "$ref": "#/components/parameters/site_id"
8594
8842
  - "$ref": "#/components/parameters/ids"
@@ -8837,16 +9085,16 @@ paths:
8837
9085
  - lang: PHP
8838
9086
  source: |
8839
9087
  try {
8840
- $plan_create = array(
9088
+ $plan_create = [
8841
9089
  "name" => "Monthly Coffee Subscription",
8842
9090
  "code" => $plan_code,
8843
9091
  "currencies" => [
8844
- array(
9092
+ [
8845
9093
  "currency" => "USD",
8846
9094
  "unit_amount" => 10000
8847
- )
9095
+ ]
8848
9096
  ]
8849
- );
9097
+ ];
8850
9098
 
8851
9099
  $plan = $client->createPlan($plan_create);
8852
9100
 
@@ -9111,9 +9359,9 @@ paths:
9111
9359
  - lang: PHP
9112
9360
  source: |
9113
9361
  try {
9114
- $plan_update = array(
9362
+ $plan_update = [
9115
9363
  "name" => "Monthly Tea Subscription"
9116
- );
9364
+ ];
9117
9365
  $plan = $client->updatePlan($plan_id, $plan_update);
9118
9366
 
9119
9367
  echo 'Updated Plan:' . PHP_EOL;
@@ -9249,6 +9497,8 @@ paths:
9249
9497
  - plan
9250
9498
  operationId: list_plan_add_ons
9251
9499
  summary: List a plan's add-ons
9500
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
9501
+ to use pagination in the API and Client Libraries.
9252
9502
  parameters:
9253
9503
  - "$ref": "#/components/parameters/site_id"
9254
9504
  - "$ref": "#/components/parameters/plan_id"
@@ -9506,10 +9756,10 @@ paths:
9506
9756
  "code" => $add_on_code,
9507
9757
  "name" => "Fresh beans shipped monthly",
9508
9758
  "currencies" => [
9509
- array(
9759
+ [
9510
9760
  "currency" => "USD",
9511
9761
  "unit_amount" => 10
9512
- )
9762
+ ]
9513
9763
  ]
9514
9764
  ];
9515
9765
 
@@ -9777,9 +10027,9 @@ paths:
9777
10027
  - lang: PHP
9778
10028
  source: |
9779
10029
  try {
9780
- $add_on_update = array(
10030
+ $add_on_update = [
9781
10031
  "name" => "New AddOn Name",
9782
- );
10032
+ ];
9783
10033
  $add_on = $client->updatePlanAddOn($plan_id, $add_on_id, $add_on_update);
9784
10034
 
9785
10035
  echo ' Updated Plan AddOn:' . PHP_EOL;
@@ -9913,6 +10163,8 @@ paths:
9913
10163
  - add-on
9914
10164
  operationId: list_add_ons
9915
10165
  summary: List a site's add-ons
10166
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
10167
+ to use pagination in the API and Client Libraries.
9916
10168
  parameters:
9917
10169
  - "$ref": "#/components/parameters/site_id"
9918
10170
  - "$ref": "#/components/parameters/ids"
@@ -10121,6 +10373,8 @@ paths:
10121
10373
  - shipping_method
10122
10374
  operationId: list_shipping_methods
10123
10375
  summary: List a site's shipping methods
10376
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
10377
+ to use pagination in the API and Client Libraries.
10124
10378
  parameters:
10125
10379
  - "$ref": "#/components/parameters/site_id"
10126
10380
  - "$ref": "#/components/parameters/ids"
@@ -10370,6 +10624,8 @@ paths:
10370
10624
  - subscription
10371
10625
  operationId: list_subscriptions
10372
10626
  summary: List a site's subscriptions
10627
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
10628
+ to use pagination in the API and Client Libraries.
10373
10629
  parameters:
10374
10630
  - "$ref": "#/components/parameters/site_id"
10375
10631
  - "$ref": "#/components/parameters/ids"
@@ -10604,13 +10860,13 @@ paths:
10604
10860
  - lang: PHP
10605
10861
  source: |
10606
10862
  try {
10607
- $sub_create = array(
10863
+ $sub_create = [
10608
10864
  "plan_code" => $plan_code,
10609
10865
  "currency" => "USD",
10610
- "account" => array(
10866
+ "account" => [
10611
10867
  "code" => $account_code
10612
- ),
10613
- );
10868
+ ],
10869
+ ];
10614
10870
 
10615
10871
  $subscription = $client->createSubscription($sub_create);
10616
10872
 
@@ -10874,10 +11130,10 @@ paths:
10874
11130
  - lang: PHP
10875
11131
  source: |
10876
11132
  try {
10877
- $changes = array(
11133
+ $changes = [
10878
11134
  "terms_and_conditions" => "Some new terms and conditions",
10879
11135
  "customer_notes" => "Some new customer notes"
10880
- );
11136
+ ];
10881
11137
 
10882
11138
  $subscription = $client->modifySubscription($subscription_id, $changes);
10883
11139
 
@@ -11917,10 +12173,10 @@ paths:
11917
12173
  - lang: PHP
11918
12174
  source: |
11919
12175
  try {
11920
- $change_create = array(
12176
+ $change_create = [
11921
12177
  "plan_code" => $new_plan_code,
11922
12178
  "timeframe" => "now"
11923
- );
12179
+ ];
11924
12180
  $change = $client->createSubscriptionChange($subscription_id, $change_create);
11925
12181
 
11926
12182
  echo 'Created Subscription Change:' . PHP_EOL;
@@ -12108,6 +12364,8 @@ paths:
12108
12364
  - subscription
12109
12365
  operationId: list_subscription_invoices
12110
12366
  summary: List a subscription's invoices
12367
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
12368
+ to use pagination in the API and Client Libraries.
12111
12369
  parameters:
12112
12370
  - "$ref": "#/components/parameters/site_id"
12113
12371
  - "$ref": "#/components/parameters/subscription_id"
@@ -12203,6 +12461,8 @@ paths:
12203
12461
  - subscription
12204
12462
  operationId: list_subscription_line_items
12205
12463
  summary: List a subscription's line items
12464
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
12465
+ to use pagination in the API and Client Libraries.
12206
12466
  parameters:
12207
12467
  - "$ref": "#/components/parameters/site_id"
12208
12468
  - "$ref": "#/components/parameters/subscription_id"
@@ -12301,6 +12561,8 @@ paths:
12301
12561
  - coupon_redemption
12302
12562
  operationId: list_subscription_coupon_redemptions
12303
12563
  summary: Show the coupon redemptions for a subscription
12564
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
12565
+ to use pagination in the API and Client Libraries.
12304
12566
  parameters:
12305
12567
  - "$ref": "#/components/parameters/site_id"
12306
12568
  - "$ref": "#/components/parameters/subscription_id"
@@ -12380,29 +12642,32 @@ paths:
12380
12642
  e, ok := err.(*recurly.Error); ok {\n\t\tfmt.Printf(\"Failed to retrieve
12381
12643
  next page: %v\", e)\n\t\tbreak\n\t}\n\tfor i, redemption := range subCouponRedemptions.Data
12382
12644
  {\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":
12645
+ "/sites/{site_id}/subscriptions/{subscription_id}/add_ons/{add_on_id}/usage":
12384
12646
  get:
12385
12647
  tags:
12386
- - transaction
12387
- operationId: list_transactions
12388
- summary: List a site's transactions
12648
+ - invoice
12649
+ - subscription
12650
+ - usage
12651
+ operationId: list_usage
12652
+ summary: List a subscription add-on's usage records
12389
12653
  parameters:
12390
12654
  - "$ref": "#/components/parameters/site_id"
12655
+ - "$ref": "#/components/parameters/subscription_id"
12656
+ - "$ref": "#/components/parameters/add_on_id"
12391
12657
  - "$ref": "#/components/parameters/ids"
12392
12658
  - "$ref": "#/components/parameters/limit"
12393
12659
  - "$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"
12660
+ - "$ref": "#/components/parameters/usage_sort_dates"
12661
+ - "$ref": "#/components/parameters/filter_usage_begin_time"
12662
+ - "$ref": "#/components/parameters/filter_usage_end_time"
12663
+ - "$ref": "#/components/parameters/billing_status"
12399
12664
  responses:
12400
12665
  '200':
12401
- description: A list of the site's transactions.
12666
+ description: A list of the subscription add-on's usage records.
12402
12667
  content:
12403
12668
  application/json:
12404
12669
  schema:
12405
- "$ref": "#/components/schemas/TransactionList"
12670
+ "$ref": "#/components/schemas/UsageList"
12406
12671
  '400':
12407
12672
  description: Invalid or unpermitted parameter.
12408
12673
  content:
@@ -12410,7 +12675,7 @@ paths:
12410
12675
  schema:
12411
12676
  "$ref": "#/components/schemas/Error"
12412
12677
  '404':
12413
- description: Incorrect site or subscription ID.
12678
+ description: Incorrect site or subscription ID or add-on id.
12414
12679
  content:
12415
12680
  application/json:
12416
12681
  schema:
@@ -12421,47 +12686,263 @@ paths:
12421
12686
  application/json:
12422
12687
  schema:
12423
12688
  "$ref": "#/components/schemas/Error"
12424
- x-code-samples:
12425
- - lang: Node.js
12426
- source: |
12427
- const transactions = client.listTransactions({ limit: 200 })
12428
-
12429
- for await (const transaction of transactions.each()) {
12430
- console.log(transaction.uuid)
12431
- }
12432
- - lang: Python
12433
- source: |
12434
- transactions = client.list_transactions(limit=200).items()
12435
- for transaction in transactions:
12436
- print(transaction.uuid)
12437
- - lang: ".NET"
12438
- source: |
12439
- var transactions = client.ListTransactions(limit: 200);
12440
- foreach(Transaction transaction in transactions)
12441
- {
12442
- Console.WriteLine(transaction.Uuid);
12443
- }
12444
- - lang: Ruby
12445
- source: |
12446
- transactions = @client.list_transactions(limit: 200)
12447
- transactions.each do |transaction|
12448
- puts "Transaction: #{transaction.uuid}"
12449
- end
12450
- - lang: Java
12451
- source: |
12452
- QueryParams params = new QueryParams();
12453
- params.setLimit(200); // Pull 200 records at a time
12454
- final Pager<Transaction> transactions = client.listTransactions(params);
12455
-
12456
- for (Transaction transaction : transactions) {
12457
- System.out.println(transaction.getUuid());
12458
- }
12459
- - lang: PHP
12460
- source: |
12461
- $params = ['limit' => 200];
12462
- $transactions = $client->listTransactions($params);
12463
-
12464
- foreach($transactions as $transaction) {
12689
+ x-code-samples: []
12690
+ post:
12691
+ tags:
12692
+ - invoice
12693
+ - subscription
12694
+ - usage
12695
+ operationId: create_usage
12696
+ summary: Log a usage record on this subscription add-on
12697
+ parameters:
12698
+ - "$ref": "#/components/parameters/site_id"
12699
+ - "$ref": "#/components/parameters/subscription_id"
12700
+ - "$ref": "#/components/parameters/add_on_id"
12701
+ requestBody:
12702
+ content:
12703
+ application/json:
12704
+ schema:
12705
+ "$ref": "#/components/schemas/UsageCreate"
12706
+ required: true
12707
+ responses:
12708
+ '201':
12709
+ description: The created usage record.
12710
+ content:
12711
+ application/json:
12712
+ schema:
12713
+ "$ref": "#/components/schemas/Usage"
12714
+ '400':
12715
+ description: Invalid or unpermitted parameter.
12716
+ content:
12717
+ application/json:
12718
+ schema:
12719
+ "$ref": "#/components/schemas/Error"
12720
+ '404':
12721
+ description: Incorrect site or subscription ID or add-on id.
12722
+ content:
12723
+ application/json:
12724
+ schema:
12725
+ "$ref": "#/components/schemas/Error"
12726
+ '422':
12727
+ description: A validation error.
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
+ "/sites/{site_id}/usage/{usage_id}":
12740
+ get:
12741
+ tags:
12742
+ - invoice
12743
+ - subscription
12744
+ - usage
12745
+ operationId: get_usage
12746
+ summary: Get a usage record
12747
+ parameters:
12748
+ - "$ref": "#/components/parameters/site_id"
12749
+ - "$ref": "#/components/parameters/usage_id"
12750
+ responses:
12751
+ '200':
12752
+ description: The usage record.
12753
+ content:
12754
+ application/json:
12755
+ schema:
12756
+ "$ref": "#/components/schemas/Usage"
12757
+ '400':
12758
+ description: Invalid or unpermitted parameter.
12759
+ content:
12760
+ application/json:
12761
+ schema:
12762
+ "$ref": "#/components/schemas/Error"
12763
+ '404':
12764
+ description: Incorrect site or subscription, add-on, or usage ID.
12765
+ content:
12766
+ application/json:
12767
+ schema:
12768
+ "$ref": "#/components/schemas/Error"
12769
+ default:
12770
+ description: Unexpected error.
12771
+ content:
12772
+ application/json:
12773
+ schema:
12774
+ "$ref": "#/components/schemas/Error"
12775
+ x-code-samples: []
12776
+ put:
12777
+ tags:
12778
+ - invoice
12779
+ - subscription
12780
+ - usage
12781
+ operationId: update_usage
12782
+ summary: Update a usage record
12783
+ parameters:
12784
+ - "$ref": "#/components/parameters/site_id"
12785
+ - "$ref": "#/components/parameters/usage_id"
12786
+ requestBody:
12787
+ content:
12788
+ application/json:
12789
+ schema:
12790
+ "$ref": "#/components/schemas/UsageCreate"
12791
+ required: true
12792
+ responses:
12793
+ '200':
12794
+ description: The updated usage record.
12795
+ content:
12796
+ application/json:
12797
+ schema:
12798
+ "$ref": "#/components/schemas/Usage"
12799
+ '400':
12800
+ description: Invalid or unpermitted parameter.
12801
+ content:
12802
+ application/json:
12803
+ schema:
12804
+ "$ref": "#/components/schemas/Error"
12805
+ '404':
12806
+ description: Incorrect site or subscription, add-on, or usage ID.
12807
+ content:
12808
+ application/json:
12809
+ schema:
12810
+ "$ref": "#/components/schemas/Error"
12811
+ '422':
12812
+ description: A validation error.
12813
+ content:
12814
+ application/json:
12815
+ schema:
12816
+ "$ref": "#/components/schemas/Error"
12817
+ default:
12818
+ description: Unexpected error.
12819
+ content:
12820
+ application/json:
12821
+ schema:
12822
+ "$ref": "#/components/schemas/Error"
12823
+ x-code-samples: []
12824
+ delete:
12825
+ tags:
12826
+ - invoice
12827
+ - subscription
12828
+ - usage
12829
+ operationId: remove_usage
12830
+ summary: Delete a usage record.
12831
+ parameters:
12832
+ - "$ref": "#/components/parameters/site_id"
12833
+ - "$ref": "#/components/parameters/usage_id"
12834
+ responses:
12835
+ '204':
12836
+ description: Usage was successfully deleted.
12837
+ '400':
12838
+ description: Invalid or unpermitted parameter.
12839
+ content:
12840
+ application/json:
12841
+ schema:
12842
+ "$ref": "#/components/schemas/Error"
12843
+ '404':
12844
+ description: Incorrect site or subscription, add-on, or usage ID.
12845
+ content:
12846
+ application/json:
12847
+ schema:
12848
+ "$ref": "#/components/schemas/Error"
12849
+ '422':
12850
+ description: A validation error.
12851
+ content:
12852
+ application/json:
12853
+ schema:
12854
+ "$ref": "#/components/schemas/Error"
12855
+ default:
12856
+ description: Unexpected error.
12857
+ content:
12858
+ application/json:
12859
+ schema:
12860
+ "$ref": "#/components/schemas/Error"
12861
+ x-code-samples: []
12862
+ "/sites/{site_id}/transactions":
12863
+ get:
12864
+ tags:
12865
+ - transaction
12866
+ operationId: list_transactions
12867
+ summary: List a site's transactions
12868
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
12869
+ to use pagination in the API and Client Libraries.
12870
+ parameters:
12871
+ - "$ref": "#/components/parameters/site_id"
12872
+ - "$ref": "#/components/parameters/ids"
12873
+ - "$ref": "#/components/parameters/limit"
12874
+ - "$ref": "#/components/parameters/order"
12875
+ - "$ref": "#/components/parameters/sort_dates"
12876
+ - "$ref": "#/components/parameters/filter_begin_time"
12877
+ - "$ref": "#/components/parameters/filter_end_time"
12878
+ - "$ref": "#/components/parameters/filter_transaction_type"
12879
+ - "$ref": "#/components/parameters/filter_transaction_success"
12880
+ responses:
12881
+ '200':
12882
+ description: A list of the site's transactions.
12883
+ content:
12884
+ application/json:
12885
+ schema:
12886
+ "$ref": "#/components/schemas/TransactionList"
12887
+ '400':
12888
+ description: Invalid or unpermitted parameter.
12889
+ content:
12890
+ application/json:
12891
+ schema:
12892
+ "$ref": "#/components/schemas/Error"
12893
+ '404':
12894
+ description: Incorrect site or subscription ID.
12895
+ content:
12896
+ application/json:
12897
+ schema:
12898
+ "$ref": "#/components/schemas/Error"
12899
+ default:
12900
+ description: Unexpected error.
12901
+ content:
12902
+ application/json:
12903
+ schema:
12904
+ "$ref": "#/components/schemas/Error"
12905
+ x-code-samples:
12906
+ - lang: Node.js
12907
+ source: |
12908
+ const transactions = client.listTransactions({ limit: 200 })
12909
+
12910
+ for await (const transaction of transactions.each()) {
12911
+ console.log(transaction.uuid)
12912
+ }
12913
+ - lang: Python
12914
+ source: |
12915
+ transactions = client.list_transactions(limit=200).items()
12916
+ for transaction in transactions:
12917
+ print(transaction.uuid)
12918
+ - lang: ".NET"
12919
+ source: |
12920
+ var transactions = client.ListTransactions(limit: 200);
12921
+ foreach(Transaction transaction in transactions)
12922
+ {
12923
+ Console.WriteLine(transaction.Uuid);
12924
+ }
12925
+ - lang: Ruby
12926
+ source: |
12927
+ transactions = @client.list_transactions(limit: 200)
12928
+ transactions.each do |transaction|
12929
+ puts "Transaction: #{transaction.uuid}"
12930
+ end
12931
+ - lang: Java
12932
+ source: |
12933
+ QueryParams params = new QueryParams();
12934
+ params.setLimit(200); // Pull 200 records at a time
12935
+ final Pager<Transaction> transactions = client.listTransactions(params);
12936
+
12937
+ for (Transaction transaction : transactions) {
12938
+ System.out.println(transaction.getUuid());
12939
+ }
12940
+ - lang: PHP
12941
+ source: |
12942
+ $params = ['limit' => 200];
12943
+ $transactions = $client->listTransactions($params);
12944
+
12945
+ foreach($transactions as $transaction) {
12465
12946
  echo 'Transaction: ' . $transaction->getUuid() . PHP_EOL;
12466
12947
  }
12467
12948
  - lang: Go
@@ -12880,22 +13361,22 @@ paths:
12880
13361
  - lang: PHP
12881
13362
  source: |
12882
13363
  try {
12883
- $purchase_create = array(
13364
+ $purchase_create = [
12884
13365
  "currency" => "USD",
12885
- "account" => array(
13366
+ "account" => [
12886
13367
  "code" => $account_code,
12887
13368
  "first_name" => "Douglas",
12888
13369
  "last_name" => "Du Monde",
12889
- "billing_info" => array(
13370
+ "billing_info" => [
12890
13371
  "token_id" => $rjs_token_id
12891
- ),
12892
- ),
13372
+ ],
13373
+ ],
12893
13374
  "subscriptions" => [
12894
- array(
13375
+ [
12895
13376
  "plan_code" => $plan_code
12896
- )
13377
+ ]
12897
13378
  ]
12898
- );
13379
+ ];
12899
13380
  $invoice_collection = $client->createPurchase($purchase_create);
12900
13381
  echo 'Created Invoices:' . PHP_EOL;
12901
13382
  var_dump($invoice_collection);
@@ -13116,22 +13597,22 @@ paths:
13116
13597
  - lang: PHP
13117
13598
  source: |
13118
13599
  try {
13119
- $purchase_preview = array(
13600
+ $purchase_preview = [
13120
13601
  "currency" => "USD",
13121
- "account" => array(
13602
+ "account" => [
13122
13603
  "code" => $account_code,
13123
13604
  "first_name" => "Douglas",
13124
13605
  "last_name" => "Du Monde",
13125
- "billing_info" => array(
13606
+ "billing_info" => [
13126
13607
  "token_id" => $rjs_token_id
13127
- ),
13128
- ),
13608
+ ],
13609
+ ],
13129
13610
  "subscriptions" => [
13130
- array(
13611
+ [
13131
13612
  "plan_code" => $plan_code
13132
- )
13613
+ ]
13133
13614
  ]
13134
- );
13615
+ ];
13135
13616
  $invoice_collection = $client->previewPurchase($purchase_preview);
13136
13617
  echo 'Preview Invoices:' . PHP_EOL;
13137
13618
  var_dump($invoice_collection);
@@ -13150,6 +13631,79 @@ paths:
13150
13631
  {\n\t\tfmt.Printf(\"Failed validation: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
13151
13632
  Recurly error: %v\", e)\n\treturn nil, err\n}\nfmt.Printf(\"Preview Charge
13152
13633
  Invoice %v\", collection.ChargeInvoice)"
13634
+ "/sites/{site_id}/export_dates":
13635
+ parameters:
13636
+ - "$ref": "#/components/parameters/site_id"
13637
+ get:
13638
+ tags:
13639
+ - automated_exports
13640
+ operationId: get_export_dates
13641
+ summary: List the dates that have an available export to download.
13642
+ description: Returns a list of dates for which export files are available for
13643
+ download.
13644
+ responses:
13645
+ '200':
13646
+ description: Returns a list of dates.
13647
+ content:
13648
+ application/json:
13649
+ schema:
13650
+ "$ref": "#/components/schemas/ExportDates"
13651
+ '400':
13652
+ description: Invalid or unpermitted parameter.
13653
+ content:
13654
+ application/json:
13655
+ schema:
13656
+ "$ref": "#/components/schemas/Error"
13657
+ '404':
13658
+ description: Incorrect site ID.
13659
+ content:
13660
+ application/json:
13661
+ schema:
13662
+ "$ref": "#/components/schemas/Error"
13663
+ default:
13664
+ description: Unexpected error.
13665
+ content:
13666
+ application/json:
13667
+ schema:
13668
+ "$ref": "#/components/schemas/Error"
13669
+ x-code-samples: []
13670
+ "/sites/{site_id}/export_dates/{export_date}/export_files":
13671
+ parameters:
13672
+ - "$ref": "#/components/parameters/site_id"
13673
+ - "$ref": "#/components/parameters/export_date"
13674
+ get:
13675
+ tags:
13676
+ - automated_exports
13677
+ operationId: get_export_files
13678
+ summary: List of the export files that are available to download.
13679
+ description: Returns a list of presigned URLs to download export files for the
13680
+ given date, with their MD5 sums.
13681
+ responses:
13682
+ '200':
13683
+ description: Returns a list of export files to download.
13684
+ content:
13685
+ application/json:
13686
+ schema:
13687
+ "$ref": "#/components/schemas/ExportFiles"
13688
+ '400':
13689
+ description: Invalid or unpermitted parameter.
13690
+ content:
13691
+ application/json:
13692
+ schema:
13693
+ "$ref": "#/components/schemas/Error"
13694
+ '404':
13695
+ description: Incorrect site ID or date.
13696
+ content:
13697
+ application/json:
13698
+ schema:
13699
+ "$ref": "#/components/schemas/Error"
13700
+ default:
13701
+ description: Unexpected error.
13702
+ content:
13703
+ application/json:
13704
+ schema:
13705
+ "$ref": "#/components/schemas/Error"
13706
+ x-code-samples: []
13153
13707
  servers:
13154
13708
  - url: https://v3.recurly.com
13155
13709
  components:
@@ -13178,6 +13732,13 @@ components:
13178
13732
  required: true
13179
13733
  schema:
13180
13734
  type: string
13735
+ usage_id:
13736
+ name: usage_id
13737
+ in: path
13738
+ description: Usage Record ID.
13739
+ required: true
13740
+ schema:
13741
+ type: string
13181
13742
  coupon_id:
13182
13743
  name: coupon_id
13183
13744
  in: path
@@ -13217,6 +13778,14 @@ components:
13217
13778
  required: true
13218
13779
  schema:
13219
13780
  type: string
13781
+ measured_unit_id:
13782
+ name: measured_unit_id
13783
+ in: path
13784
+ description: Measured unit ID or name. For ID no prefix is used e.g. `e28zov4fw0v2`.
13785
+ For name use prefix `name-`, e.g. `name-Storage`.
13786
+ required: true
13787
+ schema:
13788
+ type: string
13220
13789
  line_item_id:
13221
13790
  name: line_item_id
13222
13791
  in: path
@@ -13324,6 +13893,30 @@ components:
13324
13893
  - created_at
13325
13894
  - updated_at
13326
13895
  default: created_at
13896
+ usage_sort_dates:
13897
+ name: sort
13898
+ in: query
13899
+ description: |
13900
+ Sort field. You *really* only want to sort by `usage_timestamp` in ascending
13901
+ order. In descending order updated records will move behind the cursor and could
13902
+ prevent some records from being returned.
13903
+ schema:
13904
+ type: string
13905
+ default: usage_timestamp
13906
+ enum:
13907
+ - recorded_timestamp
13908
+ - usage_timestamp
13909
+ billing_status:
13910
+ name: billing_status
13911
+ in: query
13912
+ description: Filter by usage record's billing status
13913
+ schema:
13914
+ type: string
13915
+ default: unbilled
13916
+ enum:
13917
+ - unbilled
13918
+ - billed
13919
+ - all
13327
13920
  filter_state:
13328
13921
  name: state
13329
13922
  in: query
@@ -13355,7 +13948,7 @@ components:
13355
13948
  name: begin_time
13356
13949
  in: query
13357
13950
  description: |
13358
- Filter by begin_time when `sort=created_at` or `sort=updated_at`.
13951
+ Inclusively filter by begin_time when `sort=created_at` or `sort=updated_at`.
13359
13952
  **Note:** this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
13360
13953
  schema:
13361
13954
  type: string
@@ -13364,7 +13957,25 @@ components:
13364
13957
  name: end_time
13365
13958
  in: query
13366
13959
  description: |
13367
- Filter by end_time when `sort=created_at` or `sort=updated_at`.
13960
+ Inclusively filter by end_time when `sort=created_at` or `sort=updated_at`.
13961
+ **Note:** this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
13962
+ schema:
13963
+ type: string
13964
+ format: date-time
13965
+ filter_usage_begin_time:
13966
+ name: begin_time
13967
+ in: query
13968
+ description: |
13969
+ Inclusively filter by begin_time when `sort=usage_timestamp` or `sort=recorded_timestamp`.
13970
+ **Note:** this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
13971
+ schema:
13972
+ type: string
13973
+ format: date-time
13974
+ filter_usage_end_time:
13975
+ name: end_time
13976
+ in: query
13977
+ description: |
13978
+ Inclusively filter by end_time when `sort=usage_timestamp` or `sort=recorded_timestamp`.
13368
13979
  **Note:** this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
13369
13980
  schema:
13370
13981
  type: string
@@ -13457,6 +14068,14 @@ components:
13457
14068
  - credit
13458
14069
  - non-legacy
13459
14070
  - legacy
14071
+ export_date:
14072
+ name: export_date
14073
+ in: path
14074
+ description: Date for which to get a list of available automated export files.
14075
+ Date must be in YYYY-MM-DD format.
14076
+ required: true
14077
+ schema:
14078
+ type: string
13460
14079
  securitySchemes:
13461
14080
  api_key:
13462
14081
  type: http
@@ -13642,6 +14261,23 @@ components:
13642
14261
  type: array
13643
14262
  items:
13644
14263
  "$ref": "#/components/schemas/Invoice"
14264
+ MeasuredUnitList:
14265
+ type: object
14266
+ properties:
14267
+ object:
14268
+ type: string
14269
+ title: Object type
14270
+ description: Will always be List.
14271
+ has_more:
14272
+ type: boolean
14273
+ description: Indicates there are more results on subsequent pages.
14274
+ next:
14275
+ type: string
14276
+ description: Path to subsequent page of results.
14277
+ data:
14278
+ type: array
14279
+ items:
14280
+ "$ref": "#/components/schemas/MeasuredUnit"
13645
14281
  LineItemList:
13646
14282
  type: object
13647
14283
  properties:
@@ -14286,6 +14922,32 @@ components:
14286
14922
  title: Name
14287
14923
  description: Describes your add-on and will appear in subscribers' invoices.
14288
14924
  maxLength: 255
14925
+ add_on_type:
14926
+ type: string
14927
+ enum:
14928
+ - fixed
14929
+ - usage
14930
+ title: Add-on Type
14931
+ description: Whether the add-on type is fixed, or usage-based.
14932
+ usage_type:
14933
+ type: string
14934
+ enum:
14935
+ - price
14936
+ - percentage
14937
+ title: Usage Type
14938
+ description: Type of usage, returns usage type if `add_on_type` is `usage`.
14939
+ usage_percentage:
14940
+ type: number
14941
+ format: float
14942
+ title: Usage Percentage
14943
+ description: The percentage taken of the monetary amount of usage tracked.
14944
+ This can be up to 4 decimal places. A value between 0.0 and 100.0.
14945
+ measured_unit_id:
14946
+ type: string
14947
+ title: Measured Unit ID
14948
+ description: System-generated unique identifier for an measured unit associated
14949
+ with the add-on.
14950
+ maxLength: 13
14289
14951
  item_id:
14290
14952
  type: string
14291
14953
  title: Item ID
@@ -14342,6 +15004,32 @@ components:
14342
15004
  title: Name
14343
15005
  description: Describes your add-on and will appear in subscribers' invoices.
14344
15006
  maxLength: 255
15007
+ add_on_type:
15008
+ type: string
15009
+ enum:
15010
+ - fixed
15011
+ - usage
15012
+ title: Add-on Type
15013
+ description: Whether the add-on type is fixed, or usage-based.
15014
+ usage_type:
15015
+ type: string
15016
+ enum:
15017
+ - price
15018
+ - percentage
15019
+ title: Usage Type
15020
+ description: Type of usage, returns usage type if `add_on_type` is `usage`.
15021
+ usage_percentage:
15022
+ type: number
15023
+ format: float
15024
+ title: Usage Percentage
15025
+ description: The percentage taken of the monetary amount of usage tracked.
15026
+ This can be up to 4 decimal places. A value between 0.0 and 100.0.
15027
+ measured_unit_id:
15028
+ type: string
15029
+ title: Measured Unit ID
15030
+ description: System-generated unique identifier for an measured unit associated
15031
+ with the add-on.
15032
+ maxLength: 13
14345
15033
  accounting_code:
14346
15034
  type: string
14347
15035
  title: Accounting code
@@ -14360,6 +15048,22 @@ components:
14360
15048
  - evenly
14361
15049
  - at_range_end
14362
15050
  - at_range_start
15051
+ avalara_transaction_type:
15052
+ type: integer
15053
+ title: Avalara Transaction Type
15054
+ description: Used by Avalara for Communications taxes. The transaction type
15055
+ in combination with the service type describe how the add-on is taxed.
15056
+ 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)
15057
+ for more available t/s types.
15058
+ minimum: 0
15059
+ avalara_service_type:
15060
+ type: integer
15061
+ title: Avalara Service Type
15062
+ description: Used by Avalara for Communications taxes. The transaction type
15063
+ in combination with the service type describe how the add-on is taxed.
15064
+ 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)
15065
+ for more available t/s types.
15066
+ minimum: 0
14363
15067
  tax_code:
14364
15068
  type: string
14365
15069
  title: Tax code
@@ -14470,6 +15174,47 @@ components:
14470
15174
  If `item_code`/`item_id` is part of the request then `name` must be absent.
14471
15175
  If `item_code`/`item_id` is not present `name` is required.
14472
15176
  maxLength: 255
15177
+ add_on_type:
15178
+ type: string
15179
+ enum:
15180
+ - fixed
15181
+ - usage
15182
+ title: Add-on Type
15183
+ description: Whether the add-on type is fixed, or usage-based.
15184
+ default: fixed
15185
+ usage_type:
15186
+ type: string
15187
+ enum:
15188
+ - price
15189
+ - percentage
15190
+ title: Usage Type
15191
+ description: |
15192
+ Type of usage, required if `add_on_type` is `usage`. See our
15193
+ [Guide](https://developers.recurly.com/guides/usage-based-billing-guide.html)
15194
+ for an overview of how to configure usage add-ons.
15195
+ usage_percentage:
15196
+ type: number
15197
+ format: float
15198
+ title: Usage Percentage
15199
+ description: The percentage taken of the monetary amount of usage tracked.
15200
+ This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
15201
+ if `add_on_type` is usage and `usage_type` is percentage. Must be omitted
15202
+ otherwise. `usage_percentage` does not support tiers.
15203
+ measured_unit_id:
15204
+ type: string
15205
+ title: Measured Unit ID
15206
+ description: System-generated unique identifier for a measured unit to be
15207
+ associated with the add-on. Either `measured_unit_id` or `measured_unit_name`
15208
+ are required when `add_on_type` is `usage`. If `measured_unit_id` and
15209
+ `measured_unit_name` are both present, `measured_unit_id` will be used.
15210
+ maxLength: 13
15211
+ measured_unit_name:
15212
+ type: string
15213
+ title: Measured Unit Name
15214
+ description: Name of a measured unit to be associated with the add-on. Either
15215
+ `measured_unit_id` or `measured_unit_name` are required when `add_on_type`
15216
+ is `usage`. If `measured_unit_id` and `measured_unit_name` are both present,
15217
+ `measured_unit_id` will be used.
14473
15218
  plan_id:
14474
15219
  type: string
14475
15220
  title: Plan ID
@@ -14513,6 +15258,24 @@ components:
14513
15258
  be included when a subscription is created through the Recurly UI. However,
14514
15259
  the add-on will not be included when a subscription is created through
14515
15260
  the API.
15261
+ avalara_transaction_type:
15262
+ type: integer
15263
+ title: Avalara Transaction Type
15264
+ description: Used by Avalara for Communications taxes. The transaction type
15265
+ in combination with the service type describe how the add-on is taxed.
15266
+ 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)
15267
+ for more available t/s types. If an `Item` is associated to the `AddOn`,
15268
+ then the `avalara_transaction_type` must be absent.
15269
+ minimum: 0
15270
+ avalara_service_type:
15271
+ type: integer
15272
+ title: Avalara Service Type
15273
+ description: Used by Avalara for Communications taxes. The transaction type
15274
+ in combination with the service type describe how the add-on is taxed.
15275
+ 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)
15276
+ for more available t/s types. If an `Item` is associated to the `AddOn`,
15277
+ then the `avalara_service_type` must be absent.
15278
+ minimum: 0
14516
15279
  tax_code:
14517
15280
  type: string
14518
15281
  title: Tax code
@@ -14541,7 +15304,9 @@ components:
14541
15304
  title: Tier type
14542
15305
  description: |
14543
15306
  The pricing model for the add-on. For more information,
14544
- [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based).
15307
+ [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See
15308
+ our [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview
15309
+ of how to configure quantity-based pricing models.
14545
15310
  default: flat
14546
15311
  enum:
14547
15312
  - flat
@@ -14584,6 +15349,29 @@ components:
14584
15349
  description: Describes your add-on and will appear in subscribers' invoices.
14585
15350
  If an `Item` is associated to the `AddOn` then `name` must be absent.
14586
15351
  maxLength: 255
15352
+ usage_percentage:
15353
+ type: number
15354
+ format: float
15355
+ title: Usage Percentage
15356
+ description: The percentage taken of the monetary amount of usage tracked.
15357
+ This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
15358
+ if `add_on_type` is usage and `usage_type` is percentage. Must be omitted
15359
+ otherwise. `usage_percentage` does not support tiers.
15360
+ measured_unit_id:
15361
+ type: string
15362
+ title: Measured Unit ID
15363
+ description: System-generated unique identifier for a measured unit to be
15364
+ associated with the add-on. Either `measured_unit_id` or `measured_unit_name`
15365
+ are required when `add_on_type` is `usage`. If `measured_unit_id` and
15366
+ `measured_unit_name` are both present, `measured_unit_id` will be used.
15367
+ maxLength: 13
15368
+ measured_unit_name:
15369
+ type: string
15370
+ title: Measured Unit Name
15371
+ description: Name of a measured unit to be associated with the add-on. Either
15372
+ `measured_unit_id` or `measured_unit_name` are required when `add_on_type`
15373
+ is `usage`. If `measured_unit_id` and `measured_unit_name` are both present,
15374
+ `measured_unit_id` will be used.
14587
15375
  accounting_code:
14588
15376
  type: string
14589
15377
  title: Accounting code
@@ -14603,6 +15391,24 @@ components:
14603
15391
  - evenly
14604
15392
  - at_range_end
14605
15393
  - at_range_start
15394
+ avalara_transaction_type:
15395
+ type: integer
15396
+ title: Avalara Transaction Type
15397
+ description: Used by Avalara for Communications taxes. The transaction type
15398
+ in combination with the service type describe how the add-on is taxed.
15399
+ 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)
15400
+ for more available t/s types. If an `Item` is associated to the `AddOn`,
15401
+ then the `avalara_transaction_type` must be absent.
15402
+ minimum: 0
15403
+ avalara_service_type:
15404
+ type: integer
15405
+ title: Avalara Service Type
15406
+ description: Used by Avalara for Communications taxes. The transaction type
15407
+ in combination with the service type describe how the add-on is taxed.
15408
+ 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)
15409
+ for more available t/s types. If an `Item` is associated to the `AddOn`,
15410
+ then the `avalara_service_type` must be absent.
15411
+ minimum: 0
14606
15412
  tax_code:
14607
15413
  type: string
14608
15414
  title: Tax code
@@ -14955,8 +15761,8 @@ components:
14955
15761
  default: false
14956
15762
  plans_names:
14957
15763
  type: array
14958
- title: 'Plan names (TODO: decide if this duplicates `plans`)'
14959
- description: TODO
15764
+ title: Plan names
15765
+ description: A list of plan names for which this coupon applies.
14960
15766
  items:
14961
15767
  type: string
14962
15768
  plans:
@@ -14979,7 +15785,7 @@ components:
14979
15785
  "$ref": "#/components/schemas/CouponDiscount"
14980
15786
  coupon_type:
14981
15787
  type: string
14982
- title: 'Coupon type (TODO: implement coupon generation)'
15788
+ title: Coupon type
14983
15789
  description: Whether the coupon is "single_code" or "bulk". Bulk coupons
14984
15790
  will require a `unique_code_template` and will generate unique codes through
14985
15791
  the `/generate` endpoint.
@@ -15003,6 +15809,15 @@ components:
15003
15809
  description: The date and time the coupon will expire and can no longer
15004
15810
  be redeemed. Time is always 11:59:59, the end-of-day Pacific time.
15005
15811
  format: date-time
15812
+ bulk_coupon_id:
15813
+ type: string
15814
+ title: Bulk Coupon ID
15815
+ description: The Coupon ID of the parent Bulk Coupon
15816
+ readOnly: true
15817
+ bulk_coupon_code:
15818
+ type: string
15819
+ title: Bulk Coupon code
15820
+ description: The Coupon code of the parent Bulk Coupon
15006
15821
  redeemed_at:
15007
15822
  type: string
15008
15823
  title: Redeemed at
@@ -15081,13 +15896,17 @@ components:
15081
15896
  applies_to_all_plans:
15082
15897
  type: boolean
15083
15898
  title: Applies to all plans?
15084
- description: The coupon is valid for all plans if true. If false then
15899
+ description: |
15900
+ The coupon is valid for all plans if true. If false then
15085
15901
  `plans` and `plans_names` will list the applicable plans.
15086
15902
  default: true
15087
15903
  plan_codes:
15088
15904
  type: array
15089
15905
  title: Plan codes
15090
- description: List of plan codes to which this coupon applies. See `applies_to_all_plans`
15906
+ description: |
15907
+ List of plan codes to which this coupon applies. Required
15908
+ if `applies_to_all_plans` is false. Overrides `applies_to_all_plans`
15909
+ when `applies_to_all_plans` is true.
15091
15910
  items:
15092
15911
  type: string
15093
15912
  duration:
@@ -15254,7 +16073,7 @@ components:
15254
16073
  "$ref": "#/components/schemas/CouponDiscount"
15255
16074
  coupon_type:
15256
16075
  type: string
15257
- title: 'Coupon type (TODO: implement coupon generation)'
16076
+ title: Coupon type
15258
16077
  description: Whether the coupon is "single_code" or "bulk". Bulk coupons
15259
16078
  will require a `unique_code_template` and will generate unique codes through
15260
16079
  the `/generate` endpoint.
@@ -15657,6 +16476,22 @@ components:
15657
16476
  - evenly
15658
16477
  - at_range_end
15659
16478
  - at_range_start
16479
+ avalara_transaction_type:
16480
+ type: integer
16481
+ title: Avalara Transaction Type
16482
+ description: Used by Avalara for Communications taxes. The transaction type
16483
+ in combination with the service type describe how the item is taxed. Refer
16484
+ 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)
16485
+ for more available t/s types.
16486
+ minimum: 0
16487
+ avalara_service_type:
16488
+ type: integer
16489
+ title: Avalara Service Type
16490
+ description: Used by Avalara for Communications taxes. The transaction type
16491
+ in combination with the service type describe how the item is taxed. Refer
16492
+ 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)
16493
+ for more available t/s types.
16494
+ minimum: 0
15660
16495
  tax_code:
15661
16496
  type: string
15662
16497
  title: Tax code
@@ -15730,6 +16565,22 @@ components:
15730
16565
  - evenly
15731
16566
  - at_range_end
15732
16567
  - at_range_start
16568
+ avalara_transaction_type:
16569
+ type: integer
16570
+ title: Avalara Transaction Type
16571
+ description: Used by Avalara for Communications taxes. The transaction type
16572
+ in combination with the service type describe how the item is taxed. Refer
16573
+ 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)
16574
+ for more available t/s types.
16575
+ minimum: 0
16576
+ avalara_service_type:
16577
+ type: integer
16578
+ title: Avalara Service Type
16579
+ description: Used by Avalara for Communications taxes. The transaction type
16580
+ in combination with the service type describe how the item is taxed. Refer
16581
+ 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)
16582
+ for more available t/s types.
16583
+ minimum: 0
15733
16584
  tax_code:
15734
16585
  type: string
15735
16586
  title: Tax code
@@ -15791,6 +16642,22 @@ components:
15791
16642
  - evenly
15792
16643
  - at_range_end
15793
16644
  - at_range_start
16645
+ avalara_transaction_type:
16646
+ type: integer
16647
+ title: Avalara Transaction Type
16648
+ description: Used by Avalara for Communications taxes. The transaction type
16649
+ in combination with the service type describe how the item is taxed. Refer
16650
+ 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)
16651
+ for more available t/s types.
16652
+ minimum: 0
16653
+ avalara_service_type:
16654
+ type: integer
16655
+ title: Avalara Service Type
16656
+ description: Used by Avalara for Communications taxes. The transaction type
16657
+ in combination with the service type describe how the item is taxed. Refer
16658
+ 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)
16659
+ for more available t/s types.
16660
+ minimum: 0
15794
16661
  tax_code:
15795
16662
  type: string
15796
16663
  title: Tax code
@@ -15843,6 +16710,7 @@ components:
15843
16710
  - credit
15844
16711
  - gift_card
15845
16712
  - write_off
16713
+ - prepayment
15846
16714
  state:
15847
16715
  type: string
15848
16716
  title: Invoice state
@@ -16270,6 +17138,95 @@ components:
16270
17138
  - payment_method
16271
17139
  required:
16272
17140
  - type
17141
+ MeasuredUnit:
17142
+ type: object
17143
+ title: Measured unit
17144
+ properties:
17145
+ id:
17146
+ type: string
17147
+ title: Item ID
17148
+ maxLength: 13
17149
+ readOnly: true
17150
+ object:
17151
+ type: string
17152
+ title: Object type
17153
+ readOnly: true
17154
+ name:
17155
+ type: string
17156
+ title: Name
17157
+ description: Unique internal name of the measured unit on your site.
17158
+ display_name:
17159
+ type: string
17160
+ title: Display name
17161
+ description: Display name for the measured unit. Can only contain spaces,
17162
+ underscores and must be alphanumeric.
17163
+ maxLength: 50
17164
+ state:
17165
+ title: State
17166
+ description: The current state of the measured unit.
17167
+ readOnly: true
17168
+ type: string
17169
+ enum:
17170
+ - active
17171
+ - inactive
17172
+ description:
17173
+ type: string
17174
+ title: Description
17175
+ description: Optional internal description.
17176
+ created_at:
17177
+ type: string
17178
+ format: date-time
17179
+ title: Created at
17180
+ readOnly: true
17181
+ updated_at:
17182
+ type: string
17183
+ format: date-time
17184
+ title: Last updated at
17185
+ readOnly: true
17186
+ deleted_at:
17187
+ type: string
17188
+ format: date-time
17189
+ title: Deleted at
17190
+ readOnly: true
17191
+ MeasuredUnitCreate:
17192
+ type: object
17193
+ properties:
17194
+ name:
17195
+ type: string
17196
+ title: Name
17197
+ description: Unique internal name of the measured unit on your site.
17198
+ maxLength: 255
17199
+ display_name:
17200
+ type: string
17201
+ title: Display name
17202
+ description: Display name for the measured unit.
17203
+ pattern: "/^[\\w ]+$/"
17204
+ maxLength: 50
17205
+ description:
17206
+ type: string
17207
+ title: Description
17208
+ description: Optional internal description.
17209
+ required:
17210
+ - name
17211
+ - display_name
17212
+ MeasuredUnitUpdate:
17213
+ type: object
17214
+ properties:
17215
+ name:
17216
+ type: string
17217
+ title: Name
17218
+ description: Unique internal name of the measured unit on your site.
17219
+ maxLength: 255
17220
+ display_name:
17221
+ type: string
17222
+ title: Display name
17223
+ description: Display name for the measured unit.
17224
+ pattern: "/^[\\w ]+$/"
17225
+ maxLength: 50
17226
+ description:
17227
+ type: string
17228
+ title: Description
17229
+ description: Optional internal description.
16273
17230
  LineItem:
16274
17231
  type: object
16275
17232
  title: Line item
@@ -16502,6 +17459,22 @@ components:
16502
17459
  If not defined, then defaults to the Plan and Site settings. This attribute
16503
17460
  does not work for credits (negative line items). Credits are always applied
16504
17461
  post-tax. Pre-tax discounts should use the Coupons feature."
17462
+ avalara_transaction_type:
17463
+ type: integer
17464
+ title: Avalara Transaction Type
17465
+ description: Used by Avalara for Communications taxes. The transaction type
17466
+ in combination with the service type describe how the line item is taxed.
17467
+ 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)
17468
+ for more available t/s types.
17469
+ minimum: 0
17470
+ avalara_service_type:
17471
+ type: integer
17472
+ title: Avalara Service Type
17473
+ description: Used by Avalara for Communications taxes. The transaction type
17474
+ in combination with the service type describe how the line item is taxed.
17475
+ 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)
17476
+ for more available t/s types.
17477
+ minimum: 0
16505
17478
  tax_code:
16506
17479
  type: string
16507
17480
  title: Tax code
@@ -16667,6 +17640,24 @@ components:
16667
17640
  If not defined, then defaults to the Plan and Site settings. This attribute
16668
17641
  does not work for credits (negative line items). Credits are always applied
16669
17642
  post-tax. Pre-tax discounts should use the Coupons feature."
17643
+ avalara_transaction_type:
17644
+ type: integer
17645
+ title: Avalara Transaction Type
17646
+ description: Used by Avalara for Communications taxes. The transaction type
17647
+ in combination with the service type describe how the line item is taxed.
17648
+ 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)
17649
+ for more available t/s types. If an `Item` is associated to the `LineItem`,
17650
+ then the `avalara_transaction_type` must be absent.
17651
+ minimum: 0
17652
+ avalara_service_type:
17653
+ type: integer
17654
+ title: Avalara Service Type
17655
+ description: Used by Avalara for Communications taxes. The transaction type
17656
+ in combination with the service type describe how the line item is taxed.
17657
+ 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)
17658
+ for more available t/s types. If an `Item` is associated to the `LineItem`,
17659
+ then the `avalara_service_type` must be absent.
17660
+ minimum: 0
16670
17661
  tax_code:
16671
17662
  type: string
16672
17663
  title: Tax code
@@ -16688,12 +17679,16 @@ components:
16688
17679
  origin:
16689
17680
  type: string
16690
17681
  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.
17682
+ description: Origin `external_gift_card` is allowed if the Gift Cards feature
17683
+ is enabled on your site and `type` is `credit`. Set this value in order
17684
+ to track gift card credits from external gift cards (like InComm). It
17685
+ also skips billing information requirements. Origin `prepayment` is only
17686
+ allowed if `type` is `charge` and `tax_exempt` is left blank or set to
17687
+ true. This origin creates a charge and opposite credit on the account
17688
+ to be used for future invoices.
16695
17689
  enum:
16696
17690
  - external_gift_card
17691
+ - prepayment
16697
17692
  start_date:
16698
17693
  type: string
16699
17694
  format: date-time
@@ -16855,6 +17850,22 @@ components:
16855
17850
  fee. If no value is provided, it defaults to plan's accounting code.
16856
17851
  pattern: "/^[a-z0-9_+-]+$/"
16857
17852
  maxLength: 20
17853
+ avalara_transaction_type:
17854
+ type: integer
17855
+ title: Avalara Transaction Type
17856
+ description: Used by Avalara for Communications taxes. The transaction type
17857
+ in combination with the service type describe how the plan is taxed. Refer
17858
+ 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.
17860
+ minimum: 0
17861
+ avalara_service_type:
17862
+ type: integer
17863
+ title: Avalara Service Type
17864
+ description: Used by Avalara for Communications taxes. The transaction type
17865
+ in combination with the service type describe how the plan is taxed. Refer
17866
+ 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)
17867
+ for more available t/s types.
17868
+ minimum: 0
16858
17869
  tax_code:
16859
17870
  type: string
16860
17871
  title: Tax code
@@ -17003,6 +18014,22 @@ components:
17003
18014
  fee. If no value is provided, it defaults to plan's accounting code.
17004
18015
  pattern: "/^[a-z0-9_+-]+$/"
17005
18016
  maxLength: 20
18017
+ avalara_transaction_type:
18018
+ type: integer
18019
+ title: Avalara Transaction Type
18020
+ description: Used by Avalara for Communications taxes. The transaction type
18021
+ in combination with the service type describe how the plan is taxed. Refer
18022
+ 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)
18023
+ for more available t/s types.
18024
+ minimum: 0
18025
+ avalara_service_type:
18026
+ type: integer
18027
+ title: Avalara Service Type
18028
+ description: Used by Avalara for Communications taxes. The transaction type
18029
+ in combination with the service type describe how the plan is taxed. Refer
18030
+ 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)
18031
+ for more available t/s types.
18032
+ minimum: 0
17006
18033
  tax_code:
17007
18034
  type: string
17008
18035
  title: Tax code
@@ -17182,6 +18209,22 @@ components:
17182
18209
  fee. If no value is provided, it defaults to plan's accounting code.
17183
18210
  pattern: "/^[a-z0-9_+-]+$/"
17184
18211
  maxLength: 20
18212
+ avalara_transaction_type:
18213
+ type: integer
18214
+ title: Avalara Transaction Type
18215
+ description: Used by Avalara for Communications taxes. The transaction type
18216
+ in combination with the service type describe how the plan is taxed. Refer
18217
+ 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)
18218
+ for more available t/s types.
18219
+ minimum: 0
18220
+ avalara_service_type:
18221
+ type: integer
18222
+ title: Avalara Service Type
18223
+ description: Used by Avalara for Communications taxes. The transaction type
18224
+ in combination with the service type describe how the plan is taxed. Refer
18225
+ 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)
18226
+ for more available t/s types.
18227
+ minimum: 0
17185
18228
  tax_code:
17186
18229
  type: string
17187
18230
  title: Tax code
@@ -17948,6 +18991,9 @@ components:
17948
18991
  `plan` has `allow_any_item_on_subscriptions` set to `true` and this field is set to `item`, then
17949
18992
  the associated add-on data will be pulled from the site's item catalog.
17950
18993
  default: plan_add_on
18994
+ enum:
18995
+ - plan_add_on
18996
+ - item
17951
18997
  quantity:
17952
18998
  type: integer
17953
18999
  title: Add-on quantity
@@ -17981,7 +19027,16 @@ components:
17981
19027
  items:
17982
19028
  "$ref": "#/components/schemas/SubscriptionAddOnTier"
17983
19029
  minItems: 1
17984
- description: Empty unless `tier_type` is `tiered`, `volume`, or `stairstep`.
19030
+ description: |
19031
+ If tiers are provided in the request, all existing tiers on the Subscription Add-on will be
19032
+ removed and replaced by the tiers in the request.
19033
+ usage_percentage:
19034
+ type: number
19035
+ format: float
19036
+ title: Usage Percentage
19037
+ description: The percentage taken of the monetary amount of usage tracked.
19038
+ This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
19039
+ if add_on_type is usage and usage_type is percentage.
17985
19040
  created_at:
17986
19041
  type: string
17987
19042
  format: date-time
@@ -18001,6 +19056,9 @@ components:
18001
19056
  type: string
18002
19057
  title: Add-on code
18003
19058
  maxLength: 50
19059
+ description: |
19060
+ If `add_on_source` is set to `plan_add_on` or left blank, then plan's add-on `code` should be used.
19061
+ If `add_on_source` is set to `item`, then the `code` from the associated item should be used.
18004
19062
  add_on_source:
18005
19063
  type: string
18006
19064
  title: Add-on source
@@ -18010,6 +19068,9 @@ components:
18010
19068
  `plan` has `allow_any_item_on_subscriptions` set to `true` and this field is set to `item`, then
18011
19069
  the associated add-on data will be pulled from the site's item catalog.
18012
19070
  default: plan_add_on
19071
+ enum:
19072
+ - plan_add_on
19073
+ - item
18013
19074
  quantity:
18014
19075
  type: integer
18015
19076
  title: Quantity
@@ -18033,7 +19094,17 @@ components:
18033
19094
  If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object
18034
19095
  must include one to many tiers with `ending_quantity` and `unit_amount`.
18035
19096
  There must be one tier with an `ending_quantity` of 999999999 which is the
18036
- default if not provided.
19097
+ default if not provided. See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html)
19098
+ for an overview of how to configure quantity-based pricing models.
19099
+ usage_percentage:
19100
+ type: number
19101
+ format: float
19102
+ title: Usage Percentage
19103
+ description: The percentage taken of the monetary amount of usage tracked.
19104
+ This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
19105
+ if `add_on_type` is usage and `usage_type` is percentage. Must be omitted
19106
+ otherwise. `usage_percentage` does not support tiers. See our [Guide](https://developers.recurly.com/guides/usage-based-billing-guide.html)
19107
+ for an overview of how to configure usage add-ons.
18037
19108
  revenue_schedule_type:
18038
19109
  type: string
18039
19110
  title: Revenue schedule type
@@ -18061,7 +19132,21 @@ components:
18061
19132
  description: |
18062
19133
  If a code is provided without an id, the subscription add-on attributes
18063
19134
  will be set to the current value for those attributes on the plan add-on
18064
- unless provided in the request.
19135
+ unless provided in the request. If `add_on_source` is set to `plan_add_on`
19136
+ or left blank, then plan's add-on `code` should be used. If `add_on_source`
19137
+ is set to `item`, then the `code` from the associated item should be used.
19138
+ add_on_source:
19139
+ type: string
19140
+ title: Add-on source
19141
+ description: |
19142
+ Used to determine where the associated add-on data is pulled from. If this value is set to
19143
+ `plan_add_on` or left blank, then add_on data will be pulled from the plan's add-ons. If the associated
19144
+ `plan` has `allow_any_item_on_subscriptions` set to `true` and this field is set to `item`, then
19145
+ the associated add-on data will be pulled from the site's item catalog.
19146
+ default: plan_add_on
19147
+ enum:
19148
+ - plan_add_on
19149
+ - item
18065
19150
  quantity:
18066
19151
  type: integer
18067
19152
  title: Quantity
@@ -18083,6 +19168,13 @@ components:
18083
19168
  must include one to many tiers with `ending_quantity` and `unit_amount`.
18084
19169
  There must be one tier with an `ending_quantity` of 999999999 which is the
18085
19170
  default if not provided.
19171
+ usage_percentage:
19172
+ type: number
19173
+ format: float
19174
+ title: Usage Percentage
19175
+ description: The percentage taken of the monetary amount of usage tracked.
19176
+ This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
19177
+ if add_on_type is usage and usage_type is percentage.
18086
19178
  revenue_schedule_type:
18087
19179
  type: string
18088
19180
  title: Revenue schedule type
@@ -18178,6 +19270,11 @@ components:
18178
19270
  - evenly
18179
19271
  - at_range_end
18180
19272
  - at_range_start
19273
+ invoice_collection:
19274
+ title: Invoice Collection
19275
+ "$ref": "#/components/schemas/InvoiceCollection"
19276
+ custom_fields:
19277
+ "$ref": "#/components/schemas/CustomFields"
18181
19278
  created_at:
18182
19279
  type: string
18183
19280
  format: date-time
@@ -18253,10 +19350,11 @@ components:
18253
19350
  type: array
18254
19351
  title: Add-ons
18255
19352
  description: |
18256
- If you provide a value for this field it will replace any
18257
- existing add-ons. So, when adding or modifying an add-on, you need to
18258
- include the existing subscription add-ons. Unchanged add-ons can be included
18259
- just using the subscription add-on's ID: `{"id": "abc123"}`.
19353
+ If this value is omitted your existing add-ons will be removed. If you provide
19354
+ a value for this field it will replace any existing add-ons. So, when adding or
19355
+ modifying an add-on, you need to include the existing subscription add-ons.
19356
+ Unchanged add-ons can be included just using the subscription add-on's ID:
19357
+ `{"id": "abc123"}`.
18260
19358
 
18261
19359
  If a subscription add-on's `code` is supplied without the `id`,
18262
19360
  `{"code": "def456"}`, the subscription add-on attributes will be set to the
@@ -18285,6 +19383,8 @@ components:
18285
19383
  - evenly
18286
19384
  - at_range_end
18287
19385
  - at_range_start
19386
+ custom_fields:
19387
+ "$ref": "#/components/schemas/CustomFields"
18288
19388
  po_number:
18289
19389
  type: string
18290
19390
  title: Purchase order number
@@ -18309,12 +19409,9 @@ components:
18309
19409
  enum:
18310
19410
  - moto
18311
19411
  SubscriptionChangePreview:
19412
+ type: object
18312
19413
  allOf:
18313
19414
  - "$ref": "#/components/schemas/SubscriptionChange"
18314
- type: object
18315
- properties:
18316
- invoice_collection:
18317
- "$ref": "#/components/schemas/InvoiceCollection"
18318
19415
  SubscriptionChangeShippingCreate:
18319
19416
  type: object
18320
19417
  title: Shipping details that will be changed on a subscription
@@ -18541,6 +19638,13 @@ components:
18541
19638
  title: Trial ends at
18542
19639
  description: If set, overrides the default trial behavior for the subscription.
18543
19640
  The date must be in the future.
19641
+ starts_at:
19642
+ type: string
19643
+ format: date-time
19644
+ title: Start date
19645
+ description: If set, the subscription will begin in the future on this date.
19646
+ The subscription will apply the setup fee and trial period, unless the
19647
+ plan has no trial.
18544
19648
  next_bill_date:
18545
19649
  type: string
18546
19650
  format: date-time
@@ -19044,6 +20148,7 @@ components:
19044
20148
  to current datetime.
19045
20149
  UniqueCouponCode:
19046
20150
  type: object
20151
+ description: A unique coupon code for a bulk coupon.
19047
20152
  properties:
19048
20153
  id:
19049
20154
  type: string
@@ -19066,6 +20171,15 @@ components:
19066
20171
  - maxed_out
19067
20172
  - expired
19068
20173
  - inactive
20174
+ bulk_coupon_id:
20175
+ type: string
20176
+ title: Bulk Coupon ID
20177
+ description: The Coupon ID of the parent Bulk Coupon
20178
+ readOnly: true
20179
+ bulk_coupon_code:
20180
+ type: string
20181
+ title: Bulk Coupon code
20182
+ description: The Coupon code of the parent Bulk Coupon
19069
20183
  created_at:
19070
20184
  type: string
19071
20185
  title: Created at
@@ -19105,6 +20219,128 @@ components:
19105
20219
  type: array
19106
20220
  items:
19107
20221
  "$ref": "#/components/schemas/UniqueCouponCode"
20222
+ Usage:
20223
+ type: object
20224
+ properties:
20225
+ id:
20226
+ type: string
20227
+ object:
20228
+ type: string
20229
+ title: Object type
20230
+ merchant_tag:
20231
+ type: string
20232
+ description: Custom field for recording the id in your own system associated
20233
+ with the usage, so you can provide auditable usage displays to your customers
20234
+ using a GET on this endpoint.
20235
+ amount:
20236
+ type: number
20237
+ format: float
20238
+ description: The amount of usage. Can be positive, negative, or 0. No decimals
20239
+ allowed, we will strip them. If the usage-based add-on is billed with
20240
+ a percentage, your usage will be a monetary amount you will want to format
20241
+ in cents. (e.g., $5.00 is "500").
20242
+ usage_type:
20243
+ type: string
20244
+ enum:
20245
+ - price
20246
+ - percentage
20247
+ title: Usage Type
20248
+ description: Type of usage, returns usage type if `add_on_type` is `usage`.
20249
+ tier_type:
20250
+ type: string
20251
+ title: Tier type
20252
+ description: |
20253
+ The pricing model for the add-on. For more information,
20254
+ [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based).
20255
+ default: flat
20256
+ enum:
20257
+ - flat
20258
+ - tiered
20259
+ - stairstep
20260
+ - volume
20261
+ tiers:
20262
+ type: array
20263
+ title: Tiers
20264
+ items:
20265
+ "$ref": "#/components/schemas/SubscriptionAddOnTier"
20266
+ description: The tiers and prices of the subscription based on the usage_timestamp.
20267
+ If tier_type = flat, tiers = null
20268
+ measured_unit_id:
20269
+ type: string
20270
+ description: The ID of the measured unit associated with the add-on the
20271
+ usage record is for.
20272
+ recording_timestamp:
20273
+ type: string
20274
+ format: date-time
20275
+ description: When the usage was recorded in your system.
20276
+ usage_timestamp:
20277
+ type: string
20278
+ format: date-time
20279
+ description: When the usage actually happened. This will define the line
20280
+ item dates this usage is billed under and is important for revenue recognition.
20281
+ usage_percentage:
20282
+ type: number
20283
+ format: float
20284
+ title: Usage Percentage
20285
+ description: The percentage taken of the monetary amount of usage tracked.
20286
+ This can be up to 4 decimal places. A value between 0.0 and 100.0.
20287
+ unit_amount:
20288
+ type: number
20289
+ format: float
20290
+ title: Unit price
20291
+ billed_at:
20292
+ type: string
20293
+ format: date-time
20294
+ description: When the usage record was billed on an invoice.
20295
+ created_at:
20296
+ type: string
20297
+ format: date-time
20298
+ description: When the usage record was created in Recurly.
20299
+ updated_at:
20300
+ type: string
20301
+ format: date-time
20302
+ description: When the usage record was billed on an invoice.
20303
+ UsageCreate:
20304
+ type: object
20305
+ properties:
20306
+ merchant_tag:
20307
+ type: string
20308
+ description: Custom field for recording the id in your own system associated
20309
+ with the usage, so you can provide auditable usage displays to your customers
20310
+ using a GET on this endpoint.
20311
+ amount:
20312
+ type: number
20313
+ format: float
20314
+ description: The amount of usage. Can be positive, negative, or 0. No decimals
20315
+ allowed, we will strip them. If the usage-based add-on is billed with
20316
+ a percentage, your usage will be a monetary amount you will want to format
20317
+ in cents. (e.g., $5.00 is "500").
20318
+ recording_timestamp:
20319
+ type: string
20320
+ format: date-time
20321
+ description: When the usage was recorded in your system.
20322
+ usage_timestamp:
20323
+ type: string
20324
+ format: date-time
20325
+ description: When the usage actually happened. This will define the line
20326
+ item dates this usage is billed under and is important for revenue recognition.
20327
+ UsageList:
20328
+ type: object
20329
+ properties:
20330
+ object:
20331
+ type: string
20332
+ title: Object type
20333
+ description: Will always be List.
20334
+ has_more:
20335
+ type: boolean
20336
+ description: Indicates there are more results on subsequent pages.
20337
+ next:
20338
+ type: string
20339
+ description: Path to subsequent page of results.
20340
+ data:
20341
+ type: array
20342
+ items:
20343
+ "$ref": "#/components/schemas/Usage"
19108
20344
  User:
19109
20345
  type: object
19110
20346
  properties:
@@ -19201,8 +20437,8 @@ components:
19201
20437
  type: string
19202
20438
  title: Shipping address ID
19203
20439
  description: Assign a shipping address from the account's existing shipping
19204
- addresses. If this and `shipping_address` are both present, `shipping_address`
19205
- will take precedence.
20440
+ addresses. If this and `address` are both present, `address` will
20441
+ take precedence.
19206
20442
  maxLength: 13
19207
20443
  address:
19208
20444
  "$ref": "#/components/schemas/ShippingAddressCreate"
@@ -19394,6 +20630,7 @@ components:
19394
20630
  title: Category
19395
20631
  enum:
19396
20632
  - 3d_secure_required
20633
+ - 3d_secure_action_required
19397
20634
  - amazon
19398
20635
  - api_error
19399
20636
  - approved
@@ -19546,3 +20783,41 @@ components:
19546
20783
  a transaction. Pass this value to Recurly.js so it can continue
19547
20784
  the challenge flow.
19548
20785
  maxLength: 22
20786
+ ExportDates:
20787
+ type: object
20788
+ properties:
20789
+ object:
20790
+ type: string
20791
+ title: Object type
20792
+ readOnly: true
20793
+ dates:
20794
+ type: array
20795
+ items:
20796
+ type: string
20797
+ title: An array of dates that have available exports.
20798
+ ExportFiles:
20799
+ type: object
20800
+ properties:
20801
+ object:
20802
+ type: string
20803
+ title: Object type
20804
+ readOnly: true
20805
+ files:
20806
+ type: array
20807
+ items:
20808
+ "$ref": "#/components/schemas/ExportFile"
20809
+ ExportFile:
20810
+ type: object
20811
+ properties:
20812
+ name:
20813
+ type: string
20814
+ title: Filename
20815
+ description: Name of the export file.
20816
+ md5sum:
20817
+ type: string
20818
+ title: MD5 hash of the export file
20819
+ description: MD5 hash of the export file.
20820
+ href:
20821
+ type: string
20822
+ title: A link to the export file
20823
+ description: A presigned link to download the export file.