recurly 4.15.0 → 4.17.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e4b2e17dfb70a87cbb8e2578af8d64269d107a4759f1b44bfd1f248ea7d5903
4
- data.tar.gz: c537f30a85ac92be2e5809dc1fc8eb4a8198324fa5b354ec8a7e1750b1f5cbfc
3
+ metadata.gz: 775c79b2119f5cd5d0af758f12c69dcc910edaab7ec10ecfd64731e3b253289f
4
+ data.tar.gz: 5b360704165933f10980f95032b0b0b4f4527a5a54a1574f9a9f9e3941f5dae7
5
5
  SHA512:
6
- metadata.gz: 5ef1c8fc07f6ab7338fe324ba22df7f909e4bdb9a96b3fa7035fc79a3bc0b80bb1b4cc609b201c6efcd486e6c074670029ba71c0d76bc431b8ca70af3f59c8b6
7
- data.tar.gz: afdb01bf7ea1b5648f55396b5408f7b02ed139bd704a44fe55721bf240edae9631aaded8b803f0bcdf7b061132ca92a53fa6b376ba80d12b624c773f0f278dff
6
+ metadata.gz: eea5fd6d0c0d00b80f2e53facf0df10d18b5ece821ef4fab32ee71946f0934728bf51efa4ebc6fab2c767d0806ad0a4815881db00d8710a79940802cb27a5a0c
7
+ data.tar.gz: 32b6c5cde7dd5d318a76c97db54bdac39e507a4799f9c6b5e68dd0d909b7508e81442c44d0c5f7100d147639800ade61e15a4f0f5949c5be1ab3d6cad4e65e85
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.15.0
2
+ current_version = 4.17.0
3
3
  parse = (?P<major>\d+)
4
4
  \.(?P<minor>\d+)
5
5
  \.(?P<patch>\d+)
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.17.0](https://github.com/recurly/recurly-client-ruby/tree/4.17.0) (2022-04-15)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.16.0...4.17.0)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2021-02-25 [#766](https://github.com/recurly/recurly-client-ruby/pull/766) ([recurly-integrations](https://github.com/recurly-integrations))
11
+
12
+
13
+
14
+ ## [4.16.0](https://github.com/recurly/recurly-client-ruby/tree/4.16.0) (2022-03-24)
15
+
16
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.15.0...4.16.0)
17
+
18
+
19
+ **Merged Pull Requests**
20
+
21
+ - Generated Latest Changes for v2021-02-25 (Percentage tiers feature) [#762](https://github.com/recurly/recurly-client-ruby/pull/762) ([recurly-integrations](https://github.com/recurly-integrations))
22
+
23
+
24
+
3
25
  ## [4.15.0](https://github.com/recurly/recurly-client-ruby/tree/4.15.0) (2022-03-14)
4
26
 
5
27
  [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.14.0...4.15.0)
data/GETTING_STARTED.md CHANGED
@@ -5,7 +5,7 @@ This repository houses the official ruby client for Recurly's V3 API.
5
5
  In your Gemfile, add `recurly` as a dependency.
6
6
 
7
7
  ```ruby
8
- gem 'recurly', '~> 4.15'
8
+ gem 'recurly', '~> 4.17'
9
9
  ```
10
10
 
11
11
  > *Note*: We try to follow [semantic versioning](https://semver.org/) and will only apply breaking changes to major versions.
@@ -63,7 +63,7 @@ module Recurly
63
63
  define_attribute :optional, :Boolean
64
64
 
65
65
  # @!attribute percentage_tiers
66
- # @return [Array[PercentageTiersByCurrency]] Array of objects which must have at least one set of tiers per currency and the currency code. The tier_type must be `volume` or `tiered`, if not, it must be absent. There must be one tier without ending_amount value.
66
+ # @return [Array[PercentageTiersByCurrency]] Array of objects which must have at least one set of tiers per currency and the currency code. The tier_type must be `volume` or `tiered`, if not, it must be absent. There must be one tier without an `ending_amount` value which represents the final tier.
67
67
  define_attribute :percentage_tiers, Array, { :item_type => :PercentageTiersByCurrency }
68
68
 
69
69
  # @!attribute plan_id
@@ -83,13 +83,17 @@ module Recurly
83
83
  define_attribute :tier_type, String
84
84
 
85
85
  # @!attribute tiers
86
- # @return [Array[Tier]] If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount` for the desired `currencies`. There must be one tier with an `ending_quantity` of 999999999 which is the default if not provided.
86
+ # @return [Array[Tier]] If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount` for the desired `currencies`. There must be one tier without an `ending_quantity` value which represents the final tier.
87
87
  define_attribute :tiers, Array, { :item_type => :Tier }
88
88
 
89
89
  # @!attribute usage_percentage
90
90
  # @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, `tier_type` is `flat` and `usage_type` is percentage. Must be omitted otherwise.
91
91
  define_attribute :usage_percentage, Float
92
92
 
93
+ # @!attribute usage_timeframe
94
+ # @return [String] The time at which usage totals are reset for billing purposes. Allows for `tiered` add-ons to accumulate usage over the course of multiple billing periods.
95
+ define_attribute :usage_timeframe, String
96
+
93
97
  # @!attribute usage_type
94
98
  # @return [String] Type of usage, required if `add_on_type` is `usage`. See our [Guide](https://developers.recurly.com/guides/usage-based-billing-guide.html) for an overview of how to configure usage add-ons.
95
99
  define_attribute :usage_type, String
@@ -55,7 +55,7 @@ module Recurly
55
55
  define_attribute :optional, :Boolean
56
56
 
57
57
  # @!attribute percentage_tiers
58
- # @return [Array[PercentageTiersByCurrency]] `percentage_tiers` is an array of objects, which must have the set of tiers per currency and the currency code. The tier_type must be `volume` or `tiered`, if not, it must be absent.
58
+ # @return [Array[PercentageTiersByCurrency]] `percentage_tiers` is an array of objects, which must have the set of tiers per currency and the currency code. The tier_type must be `volume` or `tiered`, if not, it must be absent. There must be one tier without an `ending_amount` value which represents the final tier.
59
59
  define_attribute :percentage_tiers, Array, { :item_type => :PercentageTiersByCurrency }
60
60
 
61
61
  # @!attribute revenue_schedule_type
@@ -67,7 +67,7 @@ module Recurly
67
67
  define_attribute :tax_code, String
68
68
 
69
69
  # @!attribute tiers
70
- # @return [Array[Tier]] If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount` for the desired `currencies`. There must be one tier without an `ending_quantity` value that represents the final tier.
70
+ # @return [Array[Tier]] If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount` for the desired `currencies`. There must be one tier without an `ending_quantity` value which represents the final tier.
71
71
  define_attribute :tiers, Array, { :item_type => :Tier }
72
72
 
73
73
  # @!attribute usage_percentage
@@ -7,11 +7,11 @@ module Recurly
7
7
  class PercentageTier < Request
8
8
 
9
9
  # @!attribute ending_amount
10
- # @return [Float] Ending amount for the tier. Allows up to 2 decimal places. The last tier ending_amount is null.
10
+ # @return [Float] Ending amount for the tier. Allows up to 2 decimal places. Must be left empty if it is the final tier.
11
11
  define_attribute :ending_amount, Float
12
12
 
13
13
  # @!attribute usage_percentage
14
- # @return [String] Decimal usage percentage.
14
+ # @return [String] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places represented as a string.
15
15
  define_attribute :usage_percentage, String
16
16
  end
17
17
  end
@@ -15,7 +15,7 @@ module Recurly
15
15
  define_attribute :code, String
16
16
 
17
17
  # @!attribute percentage_tiers
18
- # @return [Array[SubscriptionAddOnPercentageTier]] If percentage tiers are provided in the request, all existing percentage tiers on the Subscription Add-on will be removed and replaced by the percentage tiers in the request. There must be one tier without ending_amount value. Use only if add_on.tier_type is tiered or volume and add_on.usage_type is percentage.
18
+ # @return [Array[SubscriptionAddOnPercentageTier]] If percentage tiers are provided in the request, all existing percentage tiers on the Subscription Add-on will be removed and replaced by the percentage tiers in the request. There must be one tier without ending_amount value which represents the final tier. Use only if add_on.tier_type is tiered or volume and add_on.usage_type is percentage.
19
19
  define_attribute :percentage_tiers, Array, { :item_type => :SubscriptionAddOnPercentageTier }
20
20
 
21
21
  # @!attribute quantity
@@ -27,7 +27,7 @@ module Recurly
27
27
  define_attribute :revenue_schedule_type, String
28
28
 
29
29
  # @!attribute tiers
30
- # @return [Array[SubscriptionAddOnTier]] If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount`. There must be one tier without ending_quantity value. See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
30
+ # @return [Array[SubscriptionAddOnTier]] If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount`. There must be one tier without an `ending_quantity` value which represents the final tier. See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
31
31
  define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
32
32
 
33
33
  # @!attribute unit_amount
@@ -7,11 +7,11 @@ module Recurly
7
7
  class SubscriptionAddOnPercentageTier < Request
8
8
 
9
9
  # @!attribute ending_amount
10
- # @return [Float] Ending amount
10
+ # @return [Float] Ending amount for the tier. Allows up to 2 decimal places. Must be left empty if it is the final tier.
11
11
  define_attribute :ending_amount, Float
12
12
 
13
13
  # @!attribute usage_percentage
14
- # @return [String] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places represented as a string. A value between 0.0 and 100.0.
14
+ # @return [String] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places represented as a string.
15
15
  define_attribute :usage_percentage, String
16
16
  end
17
17
  end
@@ -7,7 +7,7 @@ module Recurly
7
7
  class SubscriptionAddOnTier < Request
8
8
 
9
9
  # @!attribute ending_quantity
10
- # @return [Integer] Ending quantity
10
+ # @return [Integer] Ending quantity for the tier. This represents a unit amount for unit-priced add ons. Must be left empty if it is the final tier.
11
11
  define_attribute :ending_quantity, Integer
12
12
 
13
13
  # @!attribute unit_amount
@@ -18,6 +18,10 @@ module Recurly
18
18
  # @return [String] When an id is provided, the existing subscription add-on attributes will persist unless overridden in the request.
19
19
  define_attribute :id, String
20
20
 
21
+ # @!attribute percentage_tiers
22
+ # @return [Array[SubscriptionAddOnPercentageTier]] If percentage tiers are provided in the request, all existing percentage tiers on the Subscription Add-on will be removed and replaced by the percentage tiers in the request. Use only if add_on.tier_type is tiered or volume and add_on.usage_type is percentage. There must be one tier without an `ending_amount` value which represents the final tier.
23
+ define_attribute :percentage_tiers, Array, { :item_type => :SubscriptionAddOnPercentageTier }
24
+
21
25
  # @!attribute quantity
22
26
  # @return [Integer] Quantity
23
27
  define_attribute :quantity, Integer
@@ -27,7 +31,7 @@ module Recurly
27
31
  define_attribute :revenue_schedule_type, String
28
32
 
29
33
  # @!attribute tiers
30
- # @return [Array[SubscriptionAddOnTier]] If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount`. There must be one tier with an `ending_quantity` of 999999999 which is the default if not provided.
34
+ # @return [Array[SubscriptionAddOnTier]] If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount`. There must be one tier without an `ending_quantity` value which represents the final tier.
31
35
  define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
32
36
 
33
37
  # @!attribute unit_amount
@@ -11,7 +11,7 @@ module Recurly
11
11
  define_attribute :currencies, Array, { :item_type => :TierPricing }
12
12
 
13
13
  # @!attribute ending_quantity
14
- # @return [Integer] Ending quantity for the tier. This represents a unit amount for unit-priced add ons.
14
+ # @return [Integer] Ending quantity for the tier. This represents a unit amount for unit-priced add ons. Must be left empty if it is the final tier.
15
15
  define_attribute :ending_quantity, Integer
16
16
 
17
17
  # @!attribute usage_percentage
@@ -110,6 +110,10 @@ module Recurly
110
110
  # @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.
111
111
  define_attribute :usage_percentage, Float
112
112
 
113
+ # @!attribute usage_timeframe
114
+ # @return [String] The time at which usage totals are reset for billing purposes.
115
+ define_attribute :usage_timeframe, String
116
+
113
117
  # @!attribute usage_type
114
118
  # @return [String] Type of usage, returns usage type if `add_on_type` is `usage`.
115
119
  define_attribute :usage_type, String
@@ -7,11 +7,11 @@ module Recurly
7
7
  class PercentageTier < Resource
8
8
 
9
9
  # @!attribute ending_amount
10
- # @return [Float] Ending amount for the tier. Allows up to 2 decimal places. The last tier ending_amount is null.
10
+ # @return [Float] Ending amount for the tier. Allows up to 2 decimal places. Must be left empty if it is the final tier.
11
11
  define_attribute :ending_amount, Float
12
12
 
13
13
  # @!attribute usage_percentage
14
- # @return [String] Decimal usage percentage.
14
+ # @return [String] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places represented as a string.
15
15
  define_attribute :usage_percentage, String
16
16
  end
17
17
  end
@@ -14,6 +14,10 @@ module Recurly
14
14
  # @return [DateTime] Activated at
15
15
  define_attribute :activated_at, DateTime
16
16
 
17
+ # @!attribute active_invoice_id
18
+ # @return [String] The invoice ID of the latest invoice created for an active subscription.
19
+ define_attribute :active_invoice_id, String
20
+
17
21
  # @!attribute add_ons
18
22
  # @return [Array[SubscriptionAddOn]] Add-ons
19
23
  define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOn }
@@ -31,7 +31,7 @@ module Recurly
31
31
  define_attribute :object, String
32
32
 
33
33
  # @!attribute percentage_tiers
34
- # @return [Array[SubscriptionAddOnPercentageTier]] If percentage tiers are provided in the request, all existing percentage tiers on the Subscription Add-on will be removed and replaced by the percentage tiers in the request. Use only if add_on.tier_type is tiered or volume and add_on.usage_type is percentage
34
+ # @return [Array[SubscriptionAddOnPercentageTier]] If percentage tiers are provided in the request, all existing percentage tiers on the Subscription Add-on will be removed and replaced by the percentage tiers in the request. Use only if add_on.tier_type is tiered or volume and add_on.usage_type is percentage. There must be one tier without an `ending_amount` value which represents the final tier.
35
35
  define_attribute :percentage_tiers, Array, { :item_type => :SubscriptionAddOnPercentageTier }
36
36
 
37
37
  # @!attribute quantity
@@ -51,7 +51,7 @@ module Recurly
51
51
  define_attribute :tier_type, String
52
52
 
53
53
  # @!attribute tiers
54
- # @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. If add_on.tier_type is tiered or volume and add_on.usage_type is percentage use percentage_tiers instead.
54
+ # @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. If add_on.tier_type is tiered or volume and add_on.usage_type is percentage use percentage_tiers instead. There must be one tier without an `ending_quantity` value which represents the final tier.
55
55
  define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
56
56
 
57
57
  # @!attribute unit_amount
@@ -69,6 +69,10 @@ module Recurly
69
69
  # @!attribute usage_percentage
70
70
  # @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.
71
71
  define_attribute :usage_percentage, Float
72
+
73
+ # @!attribute usage_timeframe
74
+ # @return [String] The time at which usage totals are reset for billing purposes.
75
+ define_attribute :usage_timeframe, String
72
76
  end
73
77
  end
74
78
  end
@@ -7,11 +7,11 @@ module Recurly
7
7
  class SubscriptionAddOnPercentageTier < Resource
8
8
 
9
9
  # @!attribute ending_amount
10
- # @return [Float] Ending amount
10
+ # @return [Float] Ending amount for the tier. Allows up to 2 decimal places. Must be left empty if it is the final tier.
11
11
  define_attribute :ending_amount, Float
12
12
 
13
13
  # @!attribute usage_percentage
14
- # @return [String] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places represented as a string. A value between 0.0 and 100.0.
14
+ # @return [String] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places represented as a string.
15
15
  define_attribute :usage_percentage, String
16
16
  end
17
17
  end
@@ -7,7 +7,7 @@ module Recurly
7
7
  class SubscriptionAddOnTier < Resource
8
8
 
9
9
  # @!attribute ending_quantity
10
- # @return [Integer] Ending quantity
10
+ # @return [Integer] Ending quantity for the tier. This represents a unit amount for unit-priced add ons. Must be left empty if it is the final tier.
11
11
  define_attribute :ending_quantity, Integer
12
12
 
13
13
  # @!attribute unit_amount
@@ -11,7 +11,7 @@ module Recurly
11
11
  define_attribute :currencies, Array, { :item_type => :TierPricing }
12
12
 
13
13
  # @!attribute ending_quantity
14
- # @return [Integer] Ending quantity for the tier. This represents a unit amount for unit-priced add ons.
14
+ # @return [Integer] Ending quantity for the tier. This represents a unit amount for unit-priced add ons. Must be left empty if it is the final tier.
15
15
  define_attribute :ending_quantity, Integer
16
16
 
17
17
  # @!attribute usage_percentage
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "4.15.0"
2
+ VERSION = "4.17.0"
3
3
  end
data/openapi/api.yaml CHANGED
@@ -16265,6 +16265,8 @@ components:
16265
16265
  readOnly: true
16266
16266
  tier_type:
16267
16267
  "$ref": "#/components/schemas/TierTypeEnum"
16268
+ usage_timeframe:
16269
+ "$ref": "#/components/schemas/UsageTimeframeEnum"
16268
16270
  tiers:
16269
16271
  type: array
16270
16272
  title: Tiers
@@ -16443,6 +16445,8 @@ components:
16443
16445
  * Must be absent if `add_on_type` is `usage` and `usage_type` is `percentage`.
16444
16446
  tier_type:
16445
16447
  "$ref": "#/components/schemas/TierTypeEnum"
16448
+ usage_timeframe:
16449
+ "$ref": "#/components/schemas/UsageTimeframeCreateEnum"
16446
16450
  tiers:
16447
16451
  type: array
16448
16452
  title: Tiers
@@ -16451,8 +16455,8 @@ components:
16451
16455
  description: |
16452
16456
  If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object
16453
16457
  must include one to many tiers with `ending_quantity` and `unit_amount` for
16454
- the desired `currencies`. There must be one tier with an `ending_quantity`
16455
- of 999999999 which is the default if not provided.
16458
+ the desired `currencies`. There must be one tier without an `ending_quantity` value
16459
+ which represents the final tier.
16456
16460
  percentage_tiers:
16457
16461
  type: array
16458
16462
  title: Percentage Tiers By Currency
@@ -16461,7 +16465,8 @@ components:
16461
16465
  description: |
16462
16466
  Array of objects which must have at least one set of tiers
16463
16467
  per currency and the currency code. The tier_type must be `volume` or `tiered`,
16464
- if not, it must be absent. There must be one tier without ending_amount value.
16468
+ if not, it must be absent. There must be one tier without an `ending_amount` value
16469
+ which represents the final tier.
16465
16470
  required:
16466
16471
  - code
16467
16472
  - name
@@ -16590,7 +16595,7 @@ components:
16590
16595
  If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object
16591
16596
  must include one to many tiers with `ending_quantity` and `unit_amount` for
16592
16597
  the desired `currencies`. There must be one tier without an `ending_quantity` value
16593
- that represents the final tier.
16598
+ which represents the final tier.
16594
16599
  percentage_tiers:
16595
16600
  type: array
16596
16601
  title: Percentage Tiers By Currency
@@ -16599,7 +16604,8 @@ components:
16599
16604
  description: |
16600
16605
  `percentage_tiers` is an array of objects, which must have the set of tiers
16601
16606
  per currency and the currency code. The tier_type must be `volume` or `tiered`,
16602
- if not, it must be absent.
16607
+ if not, it must be absent. There must be one tier without an `ending_amount` value
16608
+ which represents the final tier.
16603
16609
  BillingInfo:
16604
16610
  type: object
16605
16611
  properties:
@@ -19362,11 +19368,11 @@ components:
19362
19368
  ending_quantity:
19363
19369
  type: integer
19364
19370
  title: Ending quantity
19365
- description: Ending quantity for the tier. This represents a unit amount
19366
- for unit-priced add ons.
19367
19371
  minimum: 1
19368
19372
  maximum: 999999999
19369
- default: 999999999
19373
+ default:
19374
+ description: Ending quantity for the tier. This represents a unit amount
19375
+ for unit-priced add ons. Must be left empty if it is the final tier.
19370
19376
  usage_percentage:
19371
19377
  type: string
19372
19378
  title: Usage Percentage
@@ -19399,14 +19405,19 @@ components:
19399
19405
  type: number
19400
19406
  format: float
19401
19407
  title: Ending amount
19402
- minimum: 0.1
19403
- maximum: 9999999999999
19408
+ minimum: 0.01
19409
+ maximum: 9999999999999.99
19410
+ default:
19404
19411
  description: Ending amount for the tier. Allows up to 2 decimal places.
19405
- The last tier ending_amount is null.
19412
+ Must be left empty if it is the final tier.
19406
19413
  usage_percentage:
19407
19414
  type: string
19408
19415
  title: Usage Percentage
19409
- description: Decimal usage percentage.
19416
+ minimum: 0
19417
+ maximum: 100
19418
+ description: |
19419
+ The percentage taken of the monetary amount of usage tracked.
19420
+ This can be up to 4 decimal places represented as a string.
19410
19421
  Settings:
19411
19422
  type: object
19412
19423
  properties:
@@ -20052,6 +20063,13 @@ components:
20052
20063
  type: string
20053
20064
  title: Billing Info ID
20054
20065
  description: Billing Info ID.
20066
+ active_invoice_id:
20067
+ type: string
20068
+ title: Active invoice ID
20069
+ description: The invoice ID of the latest invoice created for an active
20070
+ subscription.
20071
+ maxLength: 13
20072
+ readOnly: true
20055
20073
  SubscriptionAddOn:
20056
20074
  type: object
20057
20075
  title: Subscription Add-on
@@ -20091,16 +20109,19 @@ components:
20091
20109
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
20092
20110
  tier_type:
20093
20111
  "$ref": "#/components/schemas/TierTypeEnum"
20112
+ usage_timeframe:
20113
+ "$ref": "#/components/schemas/UsageTimeframeEnum"
20094
20114
  tiers:
20095
20115
  type: array
20096
20116
  title: Tiers
20097
20117
  items:
20098
20118
  "$ref": "#/components/schemas/SubscriptionAddOnTier"
20099
20119
  minItems: 1
20100
- description: |
20101
- If tiers are provided in the request, all existing tiers on the Subscription Add-on will be
20102
- removed and replaced by the tiers in the request. If add_on.tier_type is tiered or volume and
20103
- add_on.usage_type is percentage use percentage_tiers instead.
20120
+ description: "If tiers are provided in the request, all existing tiers on
20121
+ the Subscription Add-on will be\nremoved and replaced by the tiers in
20122
+ the request. If add_on.tier_type is tiered or volume and\nadd_on.usage_type
20123
+ is percentage use percentage_tiers instead. \nThere must be one tier without
20124
+ an `ending_quantity` value which represents the final tier.\n"
20104
20125
  percentage_tiers:
20105
20126
  type: array
20106
20127
  title: Percentage Tiers
@@ -20110,7 +20131,8 @@ components:
20110
20131
  description: |
20111
20132
  If percentage tiers are provided in the request, all existing percentage tiers on the Subscription Add-on will be
20112
20133
  removed and replaced by the percentage tiers in the request. Use only if add_on.tier_type is tiered or volume and
20113
- add_on.usage_type is percentage
20134
+ add_on.usage_type is percentage.
20135
+ There must be one tier without an `ending_amount` value which represents the final tier.
20114
20136
  usage_percentage:
20115
20137
  type: number
20116
20138
  format: float
@@ -20176,7 +20198,7 @@ components:
20176
20198
  description: |
20177
20199
  If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object
20178
20200
  must include one to many tiers with `ending_quantity` and `unit_amount`.
20179
- There must be one tier without ending_quantity value.
20201
+ There must be one tier without an `ending_quantity` value which represents the final tier.
20180
20202
  See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html)
20181
20203
  for an overview of how to configure quantity-based pricing models.
20182
20204
  percentage_tiers:
@@ -20187,12 +20209,14 @@ components:
20187
20209
  minItems: 1
20188
20210
  description: |
20189
20211
  If percentage tiers are provided in the request, all existing percentage tiers on the Subscription Add-on will be
20190
- removed and replaced by the percentage tiers in the request. There must be one tier without ending_amount value.
20212
+ removed and replaced by the percentage tiers in the request. There must be one tier without ending_amount value which represents the final tier.
20191
20213
  Use only if add_on.tier_type is tiered or volume and add_on.usage_type is percentage.
20192
20214
  usage_percentage:
20193
20215
  type: number
20194
20216
  format: float
20195
20217
  title: Usage Percentage
20218
+ minimum: 0
20219
+ maximum: 100
20196
20220
  description: The percentage taken of the monetary amount of usage tracked.
20197
20221
  This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
20198
20222
  if `add_on_type` is usage and `usage_type` is percentage. Must be omitted
@@ -20255,8 +20279,18 @@ components:
20255
20279
  description: |
20256
20280
  If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object
20257
20281
  must include one to many tiers with `ending_quantity` and `unit_amount`.
20258
- There must be one tier with an `ending_quantity` of 999999999 which is the
20259
- default if not provided.
20282
+ There must be one tier without an `ending_quantity` value which represents the final tier.
20283
+ percentage_tiers:
20284
+ type: array
20285
+ title: Percentage Tiers
20286
+ items:
20287
+ "$ref": "#/components/schemas/SubscriptionAddOnPercentageTier"
20288
+ minItems: 1
20289
+ description: |
20290
+ If percentage tiers are provided in the request, all existing percentage tiers on the Subscription Add-on will be
20291
+ removed and replaced by the percentage tiers in the request. Use only if add_on.tier_type is tiered or volume and
20292
+ add_on.usage_type is percentage.
20293
+ There must be one tier without an `ending_amount` value which represents the final tier.
20260
20294
  usage_percentage:
20261
20295
  type: number
20262
20296
  format: float
@@ -20276,6 +20310,8 @@ components:
20276
20310
  minimum: 1
20277
20311
  maximum: 999999999
20278
20312
  default:
20313
+ description: Ending quantity for the tier. This represents a unit amount
20314
+ for unit-priced add ons. Must be left empty if it is the final tier.
20279
20315
  unit_amount:
20280
20316
  type: number
20281
20317
  format: float
@@ -20307,13 +20343,16 @@ components:
20307
20343
  minimum: 1
20308
20344
  maximum: 9999999999999.99
20309
20345
  default:
20346
+ description: Ending amount for the tier. Allows up to 2 decimal places.
20347
+ Must be left empty if it is the final tier.
20310
20348
  usage_percentage:
20311
20349
  type: string
20312
20350
  title: Usage Percentage
20351
+ minimum: 0
20352
+ maximum: 100
20313
20353
  description: |
20314
20354
  The percentage taken of the monetary amount of usage tracked.
20315
- This can be up to 4 decimal places represented as a string. A value between
20316
- 0.0 and 100.0.
20355
+ This can be up to 4 decimal places represented as a string.
20317
20356
  SubscriptionCancel:
20318
20357
  type: object
20319
20358
  properties:
@@ -22150,6 +22189,25 @@ components:
22150
22189
  - tiered
22151
22190
  - stairstep
22152
22191
  - volume
22192
+ UsageTimeframeEnum:
22193
+ type: string
22194
+ title: Usage Timeframe
22195
+ description: The time at which usage totals are reset for billing purposes.
22196
+ enum:
22197
+ - billing_period
22198
+ - subscription_term
22199
+ default: billing_period
22200
+ UsageTimeframeCreateEnum:
22201
+ type: string
22202
+ title: Usage Timeframe
22203
+ description: |
22204
+ The time at which usage totals are reset for billing purposes.
22205
+ Allows for `tiered` add-ons to accumulate usage over the course of multiple
22206
+ billing periods.
22207
+ enum:
22208
+ - billing_period
22209
+ - subscription_term
22210
+ default: billing_period
22153
22211
  CreditPaymentActionEnum:
22154
22212
  type: string
22155
22213
  enum:
@@ -22632,6 +22690,7 @@ components:
22632
22690
  - three_d_secure_connection_error
22633
22691
  - three_d_secure_credential_error
22634
22692
  - three_d_secure_not_supported
22693
+ - too_busy
22635
22694
  - too_many_attempts
22636
22695
  - total_credit_exceeds_capture
22637
22696
  - transaction_already_refunded
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recurly
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.15.0
4
+ version: 4.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-14 00:00:00.000000000 Z
11
+ date: 2022-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -309,7 +309,7 @@ metadata:
309
309
  changelog_uri: https://github.com/recurly/recurly-client-ruby/blob/master/CHANGELOG.md
310
310
  documentation_uri: https://recurly.github.io/recurly-client-ruby/
311
311
  homepage_uri: https://github.com/recurly/recurly-client-ruby
312
- source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.15.0
312
+ source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.17.0
313
313
  post_install_message:
314
314
  rdoc_options: []
315
315
  require_paths: