recurly 4.15.0 → 4.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: