recurly 4.24.0 → 4.25.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: 5f585c84e359302293e13409b5162b2ad56241f342b0c9e9c2c4200f29782a32
4
- data.tar.gz: d8908b9d5e9cefcce7a9fa6cfa0d75b69dcd8b885ac6ce6dacc2ec416f56c1a1
3
+ metadata.gz: 83cc9874a222552398eccba8e97f844e448644398831199e20e9eeb09d91443a
4
+ data.tar.gz: dab0e9563f9771f46d4be709e33394305f8c59bc77fa2cd4394106cef1edd8a6
5
5
  SHA512:
6
- metadata.gz: 3d42081e4d4e095850d9b1158e8c798ab0cc11d9f9d68bb895ba77808a2d6f4f1a0bdfeac2c6394d704ea74add4df4ba63ca2eca70d1c05c1b3499e3c9bbbb76
7
- data.tar.gz: 1bb51683c999694c1843c378754ba2fb6556d205db5f50ebf93cde4cb46997548cd31f3062b75f6b1db7d3bb575a3040ddea88276f1172fca424785e96b92304
6
+ metadata.gz: beeb8fd85be7c0b63d7f2ab7c786684e774d731a3d3f501aba66428bb6de7e58c79fd0e4ab6786790e58195cd675c286f259bb98cb0652366a0ab49b885fed11
7
+ data.tar.gz: a2bb85d2f395c94dbe172aabbc281d0e30f6ffd034d85368616a2a921cee68fc6836ae75dbb023299edc2b8b4d31a61f382d9e43e6f130e10a9130bd5d7a2148
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.24.0
2
+ current_version = 4.25.0
3
3
  parse = (?P<major>\d+)
4
4
  \.(?P<minor>\d+)
5
5
  \.(?P<patch>\d+)
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.25.0](https://github.com/recurly/recurly-client-ruby/tree/4.25.0) (2022-11-15)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.24.0...4.25.0)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2021-02-25 (External Subscriptions feature) [#809](https://github.com/recurly/recurly-client-ruby/pull/809) ([recurly-integrations](https://github.com/recurly-integrations))
11
+ - Generated Latest Changes for v2021-02-25 [#807](https://github.com/recurly/recurly-client-ruby/pull/807) ([recurly-integrations](https://github.com/recurly-integrations))
12
+
13
+
14
+
3
15
  ## [4.24.0](https://github.com/recurly/recurly-client-ruby/tree/4.24.0) (2022-11-03)
4
16
 
5
17
  [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.23.0...4.24.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.24'
8
+ gem 'recurly', '~> 4.25'
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.
@@ -588,7 +588,7 @@ module Recurly
588
588
  delete(path, **options)
589
589
  end
590
590
 
591
- # Show the coupon redemptions for an account
591
+ # List the coupon redemptions for an account
592
592
  #
593
593
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_coupon_redemptions list_account_coupon_redemptions api documentation}
594
594
  #
@@ -636,7 +636,7 @@ module Recurly
636
636
  pager(path, **options)
637
637
  end
638
638
 
639
- # Show the coupon redemptions that are active on an account
639
+ # List the coupon redemptions that are active on an account
640
640
  #
641
641
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_active_coupon_redemptions list_active_coupon_redemptions api documentation}
642
642
  #
@@ -950,7 +950,7 @@ module Recurly
950
950
  post(path, body, Requests::LineItemCreate, **options)
951
951
  end
952
952
 
953
- # Fetch a list of an account's notes
953
+ # List an account's notes
954
954
  #
955
955
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_notes list_account_notes api documentation}
956
956
  #
@@ -2046,6 +2046,68 @@ module Recurly
2046
2046
  delete(path, **options)
2047
2047
  end
2048
2048
 
2049
+ # List a site's external products
2050
+ #
2051
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_external_products list_external_products api documentation}
2052
+ #
2053
+ # @param params [Hash] Optional query string parameters:
2054
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2055
+ # order. In descending order updated records will move behind the cursor and could
2056
+ # prevent some records from being returned.
2057
+ #
2058
+ #
2059
+ # @return [Pager<Resources::ExternalProduct>] A list of the the external_products on a site.
2060
+ #
2061
+ def list_external_products(**options)
2062
+ path = "/external_products"
2063
+ pager(path, **options)
2064
+ end
2065
+
2066
+ # Fetch an external product
2067
+ #
2068
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_external_product get_external_product api documentation}
2069
+ #
2070
+ # @param external_product_id [String] External product id
2071
+ # @param params [Hash] Optional query string parameters:
2072
+ #
2073
+ # @return [Resources::ExternalProduct] Settings for an external product.
2074
+ #
2075
+ def get_external_product(external_product_id:, **options)
2076
+ path = interpolate_path("/external_products/{external_product_id}", external_product_id: external_product_id)
2077
+ get(path, **options)
2078
+ end
2079
+
2080
+ # List a site's external subscriptions
2081
+ #
2082
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_external_subscriptions list_external_subscriptions api documentation}
2083
+ #
2084
+ # @param params [Hash] Optional query string parameters:
2085
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2086
+ # order. In descending order updated records will move behind the cursor and could
2087
+ # prevent some records from being returned.
2088
+ #
2089
+ #
2090
+ # @return [Pager<Resources::ExternalSubscription>] A list of the the external_subscriptions on a site.
2091
+ #
2092
+ def list_external_subscriptions(**options)
2093
+ path = "/external_subscriptions"
2094
+ pager(path, **options)
2095
+ end
2096
+
2097
+ # Fetch an external subscription
2098
+ #
2099
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_external_subscription get_external_subscription api documentation}
2100
+ #
2101
+ # @param external_subscription_id [String] External subscription id
2102
+ # @param params [Hash] Optional query string parameters:
2103
+ #
2104
+ # @return [Resources::ExternalSubscription] Settings for an external subscription.
2105
+ #
2106
+ def get_external_subscription(external_subscription_id:, **options)
2107
+ path = interpolate_path("/external_subscriptions/{external_subscription_id}", external_subscription_id: external_subscription_id)
2108
+ get(path, **options)
2109
+ end
2110
+
2049
2111
  # List a site's invoices
2050
2112
  #
2051
2113
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_invoices list_invoices api documentation}
@@ -2357,7 +2419,7 @@ module Recurly
2357
2419
  pager(path, **options)
2358
2420
  end
2359
2421
 
2360
- # Show the coupon redemptions applied to an invoice
2422
+ # List the coupon redemptions applied to an invoice
2361
2423
  #
2362
2424
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_invoice_coupon_redemptions list_invoice_coupon_redemptions api documentation}
2363
2425
  #
@@ -3586,7 +3648,7 @@ module Recurly
3586
3648
  pager(path, **options)
3587
3649
  end
3588
3650
 
3589
- # Show the coupon redemptions for a subscription
3651
+ # List the coupon redemptions for a subscription
3590
3652
  #
3591
3653
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_subscription_coupon_redemptions list_subscription_coupon_redemptions api documentation}
3592
3654
  #
@@ -4015,7 +4077,7 @@ module Recurly
4015
4077
  get(path, **options)
4016
4078
  end
4017
4079
 
4018
- # Show the dunning campaigns for a site
4080
+ # List the dunning campaigns for a site
4019
4081
  #
4020
4082
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_dunning_campaigns list_dunning_campaigns api documentation}
4021
4083
  #
@@ -4032,7 +4094,7 @@ module Recurly
4032
4094
  pager(path, **options)
4033
4095
  end
4034
4096
 
4035
- # Show the settings for a dunning campaign
4097
+ # Fetch a dunning campaign
4036
4098
  #
4037
4099
  # {https://developers.recurly.com/api/v2021-02-25#operation/get_dunning_campaign get_dunning_campaign api documentation}
4038
4100
  #
@@ -4078,7 +4140,7 @@ module Recurly
4078
4140
  pager(path, **options)
4079
4141
  end
4080
4142
 
4081
- # Show the settings for an invoice template
4143
+ # Fetch an invoice template
4082
4144
  #
4083
4145
  # {https://developers.recurly.com/api/v2021-02-25#operation/get_invoice_template get_invoice_template api documentation}
4084
4146
  #
@@ -4092,7 +4154,7 @@ module Recurly
4092
4154
  get(path, **options)
4093
4155
  end
4094
4156
 
4095
- # Show all entitlements granted to an account
4157
+ # List entitlements granted to an account
4096
4158
  #
4097
4159
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_entitlements list_entitlements api documentation}
4098
4160
  #
@@ -4110,5 +4172,23 @@ module Recurly
4110
4172
  path = interpolate_path("/accounts/{account_id}/entitlements", account_id: account_id)
4111
4173
  pager(path, **options)
4112
4174
  end
4175
+
4176
+ # List an account's external subscriptions
4177
+ #
4178
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_account_external_subscriptions list_account_external_subscriptions api documentation}
4179
+ #
4180
+ # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
4181
+ # @param params [Hash] Optional query string parameters:
4182
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
4183
+ # order. In descending order updated records will move behind the cursor and could
4184
+ # prevent some records from being returned.
4185
+ #
4186
+ #
4187
+ # @return [Pager<Resources::ExternalSubscription>] A list of the the external_subscriptions on an account.
4188
+ #
4189
+ def list_account_external_subscriptions(account_id:, **options)
4190
+ path = interpolate_path("/accounts/{account_id}/external_subscriptions", account_id: account_id)
4191
+ pager(path, **options)
4192
+ end
4113
4193
  end
4114
4194
  end
@@ -79,13 +79,17 @@ module Recurly
79
79
  define_attribute :tax_code, String
80
80
 
81
81
  # @!attribute tier_type
82
- # @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
82
+ # @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See our [Guide](https://recurly.com/developers/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
83
83
  define_attribute :tier_type, String
84
84
 
85
85
  # @!attribute tiers
86
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
+ # @!attribute usage_calculation_type
90
+ # @return [String] The type of calculation to be employed for an add-on. Cumulative billing will sum all usage records created in the current billing cycle. Last-in-period billing will apply only the most recent usage record in the billing period. If no value is specified, cumulative billing will be used.
91
+ define_attribute :usage_calculation_type, String
92
+
89
93
  # @!attribute usage_percentage
90
94
  # @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
95
  define_attribute :usage_percentage, Float
@@ -95,7 +99,7 @@ module Recurly
95
99
  define_attribute :usage_timeframe, String
96
100
 
97
101
  # @!attribute usage_type
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.
102
+ # @return [String] Type of usage, required if `add_on_type` is `usage`. See our [Guide](https://recurly.com/developers/guides/usage-based-billing-guide.html) for an overview of how to configure usage add-ons.
99
103
  define_attribute :usage_type, String
100
104
  end
101
105
  end
@@ -70,6 +70,10 @@ module Recurly
70
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
+ # @!attribute usage_calculation_type
74
+ # @return [String] The type of calculation to be employed for an add-on. Cumulative billing will sum all usage records created in the current billing cycle. Last-in-period billing will apply only the most recent usage record in the billing period. If no value is specified, cumulative billing will be used.
75
+ define_attribute :usage_calculation_type, String
76
+
73
77
  # @!attribute usage_percentage
74
78
  # @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.
75
79
  define_attribute :usage_percentage, Float
@@ -115,7 +115,7 @@ module Recurly
115
115
  define_attribute :three_d_secure_action_result_token_id, String
116
116
 
117
117
  # @!attribute token_id
118
- # @return [String] A token [generated by Recurly.js](https://developers.recurly.com/reference/recurly-js/#getting-a-token).
118
+ # @return [String] A token [generated by Recurly.js](https://recurly.com/developers/reference/recurly-js/#getting-a-token).
119
119
  define_attribute :token_id, String
120
120
 
121
121
  # @!attribute transaction_type
@@ -38,6 +38,10 @@ module Recurly
38
38
  # @return [Array[PlanPricing]] Pricing
39
39
  define_attribute :currencies, Array, { :item_type => :PlanPricing }
40
40
 
41
+ # @!attribute custom_fields
42
+ # @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.
43
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
44
+
41
45
  # @!attribute description
42
46
  # @return [String] Optional description, not displayed.
43
47
  define_attribute :description, String
@@ -34,6 +34,10 @@ module Recurly
34
34
  # @return [Array[PlanPricing]] Optional when the pricing model is 'ramp'.
35
35
  define_attribute :currencies, Array, { :item_type => :PlanPricing }
36
36
 
37
+ # @!attribute custom_fields
38
+ # @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.
39
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
40
+
37
41
  # @!attribute description
38
42
  # @return [String] Optional description, not displayed.
39
43
  define_attribute :description, String
@@ -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 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.
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://recurly.com/developers/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
@@ -39,7 +39,7 @@ module Recurly
39
39
  define_attribute :unit_amount_decimal, String
40
40
 
41
41
  # @!attribute usage_percentage
42
- # @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. Must be omitted otherwise. `usage_percentage` does not support tiers. See our [Guide](https://developers.recurly.com/guides/usage-based-billing-guide.html) for an overview of how to configure usage add-ons.
42
+ # @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. Must be omitted otherwise. `usage_percentage` does not support tiers. See our [Guide](https://recurly.com/developers/guides/usage-based-billing-guide.html) for an overview of how to configure usage add-ons.
43
43
  define_attribute :usage_percentage, Float
44
44
  end
45
45
  end
@@ -95,7 +95,7 @@ module Recurly
95
95
  define_attribute :tax_code, String
96
96
 
97
97
  # @!attribute tier_type
98
- # @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
98
+ # @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See our [Guide](https://recurly.com/developers/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
99
99
  define_attribute :tier_type, String
100
100
 
101
101
  # @!attribute tiers
@@ -106,6 +106,10 @@ module Recurly
106
106
  # @return [DateTime] Last updated at
107
107
  define_attribute :updated_at, DateTime
108
108
 
109
+ # @!attribute usage_calculation_type
110
+ # @return [String] The type of calculation to be employed for an add-on. Cumulative billing will sum all usage records created in the current billing cycle. Last-in-period billing will apply only the most recent usage record in the billing period. If no value is specified, cumulative billing will be used.
111
+ define_attribute :usage_calculation_type, String
112
+
109
113
  # @!attribute usage_percentage
110
114
  # @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
115
  define_attribute :usage_percentage, Float
@@ -0,0 +1,38 @@
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 ExternalProduct < Resource
8
+
9
+ # @!attribute created_at
10
+ # @return [DateTime] When the external product was created in Recurly.
11
+ define_attribute :created_at, DateTime
12
+
13
+ # @!attribute external_product_references
14
+ # @return [Array[ExternalProductReferenceMini]] List of external product references of the external product.
15
+ define_attribute :external_product_references, Array, { :item_type => :ExternalProductReferenceMini }
16
+
17
+ # @!attribute id
18
+ # @return [String] System-generated unique identifier for an external product ID, e.g. `e28zov4fw0v2`.
19
+ define_attribute :id, String
20
+
21
+ # @!attribute name
22
+ # @return [String] Name to identify the external product in Recurly.
23
+ define_attribute :name, String
24
+
25
+ # @!attribute object
26
+ # @return [String] Object type
27
+ define_attribute :object, String
28
+
29
+ # @!attribute plan
30
+ # @return [PlanMini] Just the important parts.
31
+ define_attribute :plan, :PlanMini
32
+
33
+ # @!attribute updated_at
34
+ # @return [DateTime] When the external product was updated in Recurly.
35
+ define_attribute :updated_at, DateTime
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,34 @@
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 ExternalProductReferenceMini < Resource
8
+
9
+ # @!attribute created_at
10
+ # @return [DateTime] When the external product was created in Recurly.
11
+ define_attribute :created_at, DateTime
12
+
13
+ # @!attribute external_connection_type
14
+ # @return [String] Source connection platform.
15
+ define_attribute :external_connection_type, String
16
+
17
+ # @!attribute id
18
+ # @return [String] System-generated unique identifier for an external product ID, e.g. `e28zov4fw0v2`.
19
+ define_attribute :id, String
20
+
21
+ # @!attribute object
22
+ # @return [String] object
23
+ define_attribute :object, String
24
+
25
+ # @!attribute reference_code
26
+ # @return [String] A code which associates the external product to a corresponding object or resource in an external platform like the Apple App Store or Google Play Store.
27
+ define_attribute :reference_code, String
28
+
29
+ # @!attribute updated_at
30
+ # @return [DateTime] When the external product was updated in Recurly.
31
+ define_attribute :updated_at, DateTime
32
+ end
33
+ end
34
+ 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 ExternalResourceMini < Resource
8
+
9
+ # @!attribute external_object_reference
10
+ # @return [String] Identifier or URL reference where the resource is canonically available in the external platform.
11
+ define_attribute :external_object_reference, String
12
+
13
+ # @!attribute id
14
+ # @return [String] System-generated unique identifier for an external resource ID, e.g. `e28zov4fw0v2`.
15
+ define_attribute :id, String
16
+
17
+ # @!attribute object
18
+ # @return [String] Object type
19
+ define_attribute :object, String
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,62 @@
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 ExternalSubscription < Resource
8
+
9
+ # @!attribute account
10
+ # @return [AccountMini] Account mini details
11
+ define_attribute :account, :AccountMini
12
+
13
+ # @!attribute activated_at
14
+ # @return [DateTime] When the external subscription was activated in the external platform.
15
+ define_attribute :activated_at, DateTime
16
+
17
+ # @!attribute app_identifier
18
+ # @return [String] Identifier of the app that generated the external subscription.
19
+ define_attribute :app_identifier, String
20
+
21
+ # @!attribute auto_renew
22
+ # @return [Boolean] An indication of whether or not the external subscription will auto-renew at the expiration date.
23
+ define_attribute :auto_renew, :Boolean
24
+
25
+ # @!attribute created_at
26
+ # @return [DateTime] When the external subscription was created in Recurly.
27
+ define_attribute :created_at, DateTime
28
+
29
+ # @!attribute expires_at
30
+ # @return [DateTime] When the external subscription expires in the external platform.
31
+ define_attribute :expires_at, DateTime
32
+
33
+ # @!attribute external_product_reference
34
+ # @return [ExternalProductReferenceMini] External Product Reference details
35
+ define_attribute :external_product_reference, :ExternalProductReferenceMini
36
+
37
+ # @!attribute external_resource
38
+ # @return [ExternalResourceMini] External Resource mini details
39
+ define_attribute :external_resource, :ExternalResourceMini
40
+
41
+ # @!attribute id
42
+ # @return [String] System-generated unique identifier for an external subscription ID, e.g. `e28zov4fw0v2`.
43
+ define_attribute :id, String
44
+
45
+ # @!attribute last_purchased
46
+ # @return [DateTime] When a new billing event occurred on the external subscription in conjunction with a recent billing period, reactivation or upgrade/downgrade.
47
+ define_attribute :last_purchased, DateTime
48
+
49
+ # @!attribute object
50
+ # @return [String] Object type
51
+ define_attribute :object, String
52
+
53
+ # @!attribute quantity
54
+ # @return [Integer] An indication of the quantity of a subscribed item's quantity.
55
+ define_attribute :quantity, Integer
56
+
57
+ # @!attribute updated_at
58
+ # @return [DateTime] When the external subscription was updated in Recurly.
59
+ define_attribute :updated_at, DateTime
60
+ end
61
+ end
62
+ end
@@ -38,6 +38,10 @@ module Recurly
38
38
  # @return [Array[PlanPricing]] Pricing
39
39
  define_attribute :currencies, Array, { :item_type => :PlanPricing }
40
40
 
41
+ # @!attribute custom_fields
42
+ # @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.
43
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
44
+
41
45
  # @!attribute deleted_at
42
46
  # @return [DateTime] Deleted at
43
47
  define_attribute :deleted_at, DateTime
@@ -47,7 +47,7 @@ module Recurly
47
47
  define_attribute :subscription_id, String
48
48
 
49
49
  # @!attribute tier_type
50
- # @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
50
+ # @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See our [Guide](https://recurly.com/developers/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
51
51
  define_attribute :tier_type, String
52
52
 
53
53
  # @!attribute tiers
@@ -66,6 +66,10 @@ module Recurly
66
66
  # @return [DateTime] Updated at
67
67
  define_attribute :updated_at, DateTime
68
68
 
69
+ # @!attribute usage_calculation_type
70
+ # @return [String] The type of calculation to be employed for an add-on. Cumulative billing will sum all usage records created in the current billing cycle. Last-in-period billing will apply only the most recent usage record in the billing period. If no value is specified, cumulative billing will be used.
71
+ define_attribute :usage_calculation_type, String
72
+
69
73
  # @!attribute usage_percentage
70
74
  # @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
75
  define_attribute :usage_percentage, Float
@@ -43,7 +43,7 @@ module Recurly
43
43
  define_attribute :recording_timestamp, DateTime
44
44
 
45
45
  # @!attribute tier_type
46
- # @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
46
+ # @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See our [Guide](https://recurly.com/developers/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
47
47
  define_attribute :tier_type, String
48
48
 
49
49
  # @!attribute tiers
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "4.24.0"
2
+ VERSION = "4.25.0"
3
3
  end
data/openapi/api.yaml CHANGED
@@ -57,7 +57,7 @@ info:
57
57
 
58
58
  We encourage you to update to the latest version of the API and corresponding client library,
59
59
  as most recent versions are more performant than their predecessors. See the
60
- [changelog](https://developers.recurly.com/api/changelog.html) for a comprehensive list of changes
60
+ [changelog](https://recurly.com/developers/api/changelog.html) for a comprehensive list of changes
61
61
  introduced in the latest API version.
62
62
 
63
63
  ### Default Versions
@@ -114,7 +114,7 @@ info:
114
114
  Please consider changing these messages in the target system to be better
115
115
  suited to the audience of the system.
116
116
 
117
- Please see [transaction error codes](https://developers.recurly.com/pages/api-transaction-errors.html) for more details.
117
+ Please see [transaction error codes](https://recurly.com/developers/pages/api-transaction-errors.html) for more details.
118
118
 
119
119
  ## Pagination
120
120
  ### Response Schema
@@ -181,7 +181,7 @@ info:
181
181
 
182
182
  ## Change Log
183
183
 
184
- A list of changes for this version can be found [in the changelog](https://developers.recurly.com/api/changelog.html#v2021-02-25---current-ga-version).
184
+ A list of changes for this version can be found [in the changelog](https://recurly.com/developers/api/changelog.html#v2021-02-25---current-ga-version).
185
185
  version: v2021-02-25
186
186
  security:
187
187
  - api_key: []
@@ -199,6 +199,8 @@ x-tagGroups:
199
199
  - purchase
200
200
  - usage
201
201
  - automated_exports
202
+ - external_subscriptions
203
+ - external_products
202
204
  - name: Products and Promotions
203
205
  tags:
204
206
  - item
@@ -338,6 +340,16 @@ tags:
338
340
  - name: dunning_campaigns
339
341
  x-displayName: Dunning Campaigns
340
342
  description: Settings used when attempting to dun customers whose payments are declined.
343
+ - name: external_subscriptions
344
+ x-displayName: External Subscription
345
+ description: A subscription from an external resource that is not managed by the
346
+ Recurly platform and instead is managed by third-party platforms like Apple Store
347
+ and Google Play.
348
+ - name: external_products
349
+ x-displayName: External Product
350
+ description: A product from an external resource that is not managed by the Recurly
351
+ platform and instead is managed by third-party platforms like Apple Store and
352
+ Google Play.
341
353
  paths:
342
354
  "/sites":
343
355
  get:
@@ -2694,7 +2706,7 @@ paths:
2694
2706
  tags:
2695
2707
  - coupon_redemption
2696
2708
  operationId: list_account_coupon_redemptions
2697
- summary: Show the coupon redemptions for an account
2709
+ summary: List the coupon redemptions for an account
2698
2710
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
2699
2711
  to use pagination in the API and Client Libraries.
2700
2712
  parameters:
@@ -2791,7 +2803,7 @@ paths:
2791
2803
  tags:
2792
2804
  - coupon_redemption
2793
2805
  operationId: list_active_coupon_redemptions
2794
- summary: Show the coupon redemptions that are active on an account
2806
+ summary: List the coupon redemptions that are active on an account
2795
2807
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
2796
2808
  to use pagination in the API and Client Libraries.
2797
2809
  parameters:
@@ -3944,7 +3956,7 @@ paths:
3944
3956
  tags:
3945
3957
  - note
3946
3958
  operationId: list_account_notes
3947
- summary: Fetch a list of an account's notes
3959
+ summary: List an account's notes
3948
3960
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
3949
3961
  to use pagination in the API and Client Libraries.
3950
3962
  parameters:
@@ -7442,6 +7454,129 @@ paths:
7442
7454
  schema:
7443
7455
  "$ref": "#/components/schemas/Error"
7444
7456
  x-code-samples: []
7457
+ "/external_products":
7458
+ get:
7459
+ tags:
7460
+ - external_products
7461
+ operationId: list_external_products
7462
+ summary: List a site's external products
7463
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
7464
+ to use pagination in the API and Client Libraries.
7465
+ parameters:
7466
+ - "$ref": "#/components/parameters/sort_dates"
7467
+ responses:
7468
+ '200':
7469
+ description: A list of the the external_products on a site.
7470
+ content:
7471
+ application/json:
7472
+ schema:
7473
+ "$ref": "#/components/schemas/ExternalProductList"
7474
+ '404':
7475
+ description: Incorrect site.
7476
+ content:
7477
+ application/json:
7478
+ schema:
7479
+ "$ref": "#/components/schemas/Error"
7480
+ default:
7481
+ description: Unexpected error.
7482
+ content:
7483
+ application/json:
7484
+ schema:
7485
+ "$ref": "#/components/schemas/Error"
7486
+ x-code-samples: []
7487
+ "/external_products/{external_product_id}":
7488
+ parameters:
7489
+ - "$ref": "#/components/parameters/external_product_id"
7490
+ get:
7491
+ tags:
7492
+ - external_products
7493
+ operationId: get_external_product
7494
+ summary: Fetch an external product
7495
+ responses:
7496
+ '200':
7497
+ description: Settings for an external product.
7498
+ content:
7499
+ application/json:
7500
+ schema:
7501
+ "$ref": "#/components/schemas/ExternalProduct"
7502
+ '404':
7503
+ description: Incorrect site or external product ID.
7504
+ content:
7505
+ application/json:
7506
+ schema:
7507
+ "$ref": "#/components/schemas/Error"
7508
+ default:
7509
+ description: Unexpected error.
7510
+ content:
7511
+ application/json:
7512
+ schema:
7513
+ "$ref": "#/components/schemas/Error"
7514
+ x-code-samples: []
7515
+ "/external_subscriptions":
7516
+ get:
7517
+ tags:
7518
+ - external_subscriptions
7519
+ operationId: list_external_subscriptions
7520
+ summary: List a site's external subscriptions
7521
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
7522
+ to use pagination in the API and Client Libraries.
7523
+ parameters:
7524
+ - "$ref": "#/components/parameters/sort_dates"
7525
+ responses:
7526
+ '200':
7527
+ description: A list of the the external_subscriptions on a site.
7528
+ content:
7529
+ application/json:
7530
+ schema:
7531
+ "$ref": "#/components/schemas/ExternalSubscriptionList"
7532
+ '404':
7533
+ description: Incorrect site.
7534
+ content:
7535
+ application/json:
7536
+ schema:
7537
+ "$ref": "#/components/schemas/Error"
7538
+ default:
7539
+ description: Unexpected error.
7540
+ content:
7541
+ application/json:
7542
+ schema:
7543
+ "$ref": "#/components/schemas/Error"
7544
+ x-code-samples: []
7545
+ "/external_subscriptions/{external_subscription_id}":
7546
+ parameters:
7547
+ - "$ref": "#/components/parameters/external_subscription_id"
7548
+ get:
7549
+ tags:
7550
+ - external_subscriptions
7551
+ operationId: get_external_subscription
7552
+ summary: Fetch an external subscription
7553
+ responses:
7554
+ '200':
7555
+ description: Settings for an external subscription.
7556
+ content:
7557
+ application/json:
7558
+ schema:
7559
+ "$ref": "#/components/schemas/ExternalSubscription"
7560
+ '404':
7561
+ description: Incorrect site or external subscription ID.
7562
+ content:
7563
+ application/json:
7564
+ schema:
7565
+ "$ref": "#/components/schemas/Error"
7566
+ '422':
7567
+ description: Validation error with external resource connection or feature
7568
+ flag.
7569
+ content:
7570
+ application/json:
7571
+ schema:
7572
+ "$ref": "#/components/schemas/Error"
7573
+ default:
7574
+ description: Unexpected error.
7575
+ content:
7576
+ application/json:
7577
+ schema:
7578
+ "$ref": "#/components/schemas/Error"
7579
+ x-code-samples: []
7445
7580
  "/invoices":
7446
7581
  get:
7447
7582
  tags:
@@ -8742,7 +8877,7 @@ paths:
8742
8877
  tags:
8743
8878
  - coupon_redemption
8744
8879
  operationId: list_invoice_coupon_redemptions
8745
- summary: Show the coupon redemptions applied to an invoice
8880
+ summary: List the coupon redemptions applied to an invoice
8746
8881
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
8747
8882
  to use pagination in the API and Client Libraries.
8748
8883
  parameters:
@@ -13327,7 +13462,7 @@ paths:
13327
13462
  tags:
13328
13463
  - coupon_redemption
13329
13464
  operationId: list_subscription_coupon_redemptions
13330
- summary: Show the coupon redemptions for a subscription
13465
+ summary: List the coupon redemptions for a subscription
13331
13466
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
13332
13467
  to use pagination in the API and Client Libraries.
13333
13468
  parameters:
@@ -14907,7 +15042,7 @@ paths:
14907
15042
  tags:
14908
15043
  - dunning_campaigns
14909
15044
  operationId: list_dunning_campaigns
14910
- summary: Show the dunning campaigns for a site
15045
+ summary: List the dunning campaigns for a site
14911
15046
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
14912
15047
  to use pagination in the API and Client Libraries.
14913
15048
  parameters:
@@ -14939,7 +15074,7 @@ paths:
14939
15074
  tags:
14940
15075
  - dunning_campaigns
14941
15076
  operationId: get_dunning_campaign
14942
- summary: Show the settings for a dunning campaign
15077
+ summary: Fetch a dunning campaign
14943
15078
  responses:
14944
15079
  '200':
14945
15080
  description: Settings for a dunning campaign.
@@ -15042,7 +15177,7 @@ paths:
15042
15177
  tags:
15043
15178
  - invoice_templates
15044
15179
  operationId: get_invoice_template
15045
- summary: Show the settings for an invoice template
15180
+ summary: Fetch an invoice template
15046
15181
  responses:
15047
15182
  '200':
15048
15183
  description: Settings for an invoice template.
@@ -15077,7 +15212,7 @@ paths:
15077
15212
  tags:
15078
15213
  - account
15079
15214
  operationId: list_entitlements
15080
- summary: Show all entitlements granted to an account
15215
+ summary: List entitlements granted to an account
15081
15216
  responses:
15082
15217
  '200':
15083
15218
  description: A list of the entitlements granted to an account.
@@ -15098,6 +15233,38 @@ paths:
15098
15233
  schema:
15099
15234
  "$ref": "#/components/schemas/Error"
15100
15235
  x-code-samples: []
15236
+ "/accounts/{account_id}/external_subscriptions":
15237
+ parameters:
15238
+ - "$ref": "#/components/parameters/account_id"
15239
+ get:
15240
+ tags:
15241
+ - account
15242
+ operationId: list_account_external_subscriptions
15243
+ summary: List an account's external subscriptions
15244
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
15245
+ to use pagination in the API and Client Libraries.
15246
+ parameters:
15247
+ - "$ref": "#/components/parameters/sort_dates"
15248
+ responses:
15249
+ '200':
15250
+ description: A list of the the external_subscriptions on an account.
15251
+ content:
15252
+ application/json:
15253
+ schema:
15254
+ "$ref": "#/components/schemas/ExternalSubscriptionList"
15255
+ '404':
15256
+ description: Incorrect account.
15257
+ content:
15258
+ application/json:
15259
+ schema:
15260
+ "$ref": "#/components/schemas/Error"
15261
+ default:
15262
+ description: Unexpected error.
15263
+ content:
15264
+ application/json:
15265
+ schema:
15266
+ "$ref": "#/components/schemas/Error"
15267
+ x-code-samples: []
15101
15268
  servers:
15102
15269
  - url: https://v3.recurly.com
15103
15270
  - url: https://v3.eu.recurly.com
@@ -15165,6 +15332,20 @@ components:
15165
15332
  required: true
15166
15333
  schema:
15167
15334
  type: string
15335
+ external_product_id:
15336
+ name: external_product_id
15337
+ in: path
15338
+ description: External product id
15339
+ required: true
15340
+ schema:
15341
+ type: string
15342
+ external_subscription_id:
15343
+ name: external_subscription_id
15344
+ in: path
15345
+ description: External subscription id
15346
+ required: true
15347
+ schema:
15348
+ type: string
15168
15349
  invoice_template_id:
15169
15350
  name: invoice_template_id
15170
15351
  in: path
@@ -16369,6 +16550,8 @@ components:
16369
16550
  "$ref": "#/components/schemas/AddOnTypeEnum"
16370
16551
  usage_type:
16371
16552
  "$ref": "#/components/schemas/UsageTypeEnum"
16553
+ usage_calculation_type:
16554
+ "$ref": "#/components/schemas/UsageCalculationTypeEnum"
16372
16555
  usage_percentage:
16373
16556
  type: number
16374
16557
  format: float
@@ -16522,6 +16705,8 @@ components:
16522
16705
  "$ref": "#/components/schemas/AddOnTypeCreateEnum"
16523
16706
  usage_type:
16524
16707
  "$ref": "#/components/schemas/UsageTypeCreateEnum"
16708
+ usage_calculation_type:
16709
+ "$ref": "#/components/schemas/UsageCalculationTypeEnum"
16525
16710
  usage_percentage:
16526
16711
  type: number
16527
16712
  format: float
@@ -16682,6 +16867,8 @@ components:
16682
16867
  This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
16683
16868
  if `add_on_type` is usage, `tier_type` is `flat` and `usage_type` is percentage.
16684
16869
  Must be omitted otherwise.
16870
+ usage_calculation_type:
16871
+ "$ref": "#/components/schemas/UsageCalculationTypeEnum"
16685
16872
  measured_unit_id:
16686
16873
  type: string
16687
16874
  title: Measured Unit ID
@@ -16882,7 +17069,7 @@ components:
16882
17069
  token_id:
16883
17070
  type: string
16884
17071
  title: Token ID
16885
- description: A token [generated by Recurly.js](https://developers.recurly.com/reference/recurly-js/#getting-a-token).
17072
+ description: A token [generated by Recurly.js](https://recurly.com/developers/reference/recurly-js/#getting-a-token).
16886
17073
  maxLength: 22
16887
17074
  first_name:
16888
17075
  type: string
@@ -19090,6 +19277,8 @@ components:
19090
19277
  title: Ramp Intervals
19091
19278
  items:
19092
19279
  "$ref": "#/components/schemas/PlanRampInterval"
19280
+ custom_fields:
19281
+ "$ref": "#/components/schemas/CustomFields"
19093
19282
  revenue_schedule_type:
19094
19283
  title: Revenue schedule type
19095
19284
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -19260,6 +19449,8 @@ components:
19260
19449
  title: Ramp Intervals
19261
19450
  items:
19262
19451
  "$ref": "#/components/schemas/PlanRampInterval"
19452
+ custom_fields:
19453
+ "$ref": "#/components/schemas/CustomFields"
19263
19454
  revenue_schedule_type:
19264
19455
  title: Revenue schedule type
19265
19456
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -19474,6 +19665,8 @@ components:
19474
19665
  title: Ramp Intervals
19475
19666
  items:
19476
19667
  "$ref": "#/components/schemas/PlanRampInterval"
19668
+ custom_fields:
19669
+ "$ref": "#/components/schemas/CustomFields"
19477
19670
  revenue_schedule_type:
19478
19671
  title: Revenue schedule type
19479
19672
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -20401,6 +20594,8 @@ components:
20401
20594
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
20402
20595
  tier_type:
20403
20596
  "$ref": "#/components/schemas/TierTypeEnum"
20597
+ usage_calculation_type:
20598
+ "$ref": "#/components/schemas/UsageCalculationTypeEnum"
20404
20599
  usage_timeframe:
20405
20600
  "$ref": "#/components/schemas/UsageTimeframeEnum"
20406
20601
  tiers:
@@ -20491,7 +20686,7 @@ components:
20491
20686
  If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object
20492
20687
  must include one to many tiers with `ending_quantity` and `unit_amount`.
20493
20688
  There must be one tier without an `ending_quantity` value which represents the final tier.
20494
- See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html)
20689
+ See our [Guide](https://recurly.com/developers/guides/item-addon-guide.html)
20495
20690
  for an overview of how to configure quantity-based pricing models.
20496
20691
  percentage_tiers:
20497
20692
  type: array
@@ -20512,7 +20707,7 @@ components:
20512
20707
  description: The percentage taken of the monetary amount of usage tracked.
20513
20708
  This can be up to 4 decimal places. A value between 0.0 and 100.0. Required
20514
20709
  if `add_on_type` is usage and `usage_type` is percentage. Must be omitted
20515
- otherwise. `usage_percentage` does not support tiers. See our [Guide](https://developers.recurly.com/guides/usage-based-billing-guide.html)
20710
+ otherwise. `usage_percentage` does not support tiers. See our [Guide](https://recurly.com/developers/guides/usage-based-billing-guide.html)
20516
20711
  for an overview of how to configure usage add-ons.
20517
20712
  revenue_schedule_type:
20518
20713
  title: Revenue schedule type
@@ -22175,6 +22370,184 @@ components:
22175
22370
  type: string
22176
22371
  format: date-time
22177
22372
  description: Time the object was last updated
22373
+ ExternalProduct:
22374
+ type: object
22375
+ description: Product from an external resource such as Apple App or Google Play.
22376
+ properties:
22377
+ id:
22378
+ type: string
22379
+ title: External product ID.
22380
+ description: System-generated unique identifier for an external product
22381
+ ID, e.g. `e28zov4fw0v2`.
22382
+ object:
22383
+ type: string
22384
+ title: Object type
22385
+ name:
22386
+ type: string
22387
+ title: Name
22388
+ description: Name to identify the external product in Recurly.
22389
+ plan:
22390
+ "$ref": "#/components/schemas/PlanMini"
22391
+ created_at:
22392
+ type: string
22393
+ format: date-time
22394
+ description: When the external product was created in Recurly.
22395
+ updated_at:
22396
+ type: string
22397
+ format: date-time
22398
+ description: When the external product was updated in Recurly.
22399
+ external_product_references:
22400
+ type: array
22401
+ title: External Product References
22402
+ description: List of external product references of the external product.
22403
+ items:
22404
+ "$ref": "#/components/schemas/ExternalProductReferenceMini"
22405
+ ExternalProductList:
22406
+ type: object
22407
+ properties:
22408
+ object:
22409
+ type: string
22410
+ title: Object type
22411
+ description: Will always be List.
22412
+ has_more:
22413
+ type: boolean
22414
+ description: Indicates there are more results on subsequent pages.
22415
+ next:
22416
+ type: string
22417
+ description: Path to subsequent page of results.
22418
+ data:
22419
+ type: array
22420
+ items:
22421
+ "$ref": "#/components/schemas/ExternalProduct"
22422
+ ExternalProductReferenceMini:
22423
+ type: object
22424
+ title: External Product Reference details
22425
+ description: External Product Reference details
22426
+ properties:
22427
+ id:
22428
+ type: string
22429
+ title: External Product ID
22430
+ description: System-generated unique identifier for an external product
22431
+ ID, e.g. `e28zov4fw0v2`.
22432
+ object:
22433
+ type: string
22434
+ title: object
22435
+ reference_code:
22436
+ type: string
22437
+ title: reference_code
22438
+ description: A code which associates the external product to a corresponding
22439
+ object or resource in an external platform like the Apple App Store or
22440
+ Google Play Store.
22441
+ external_connection_type:
22442
+ type: string
22443
+ title: external_connection_type
22444
+ description: Source connection platform.
22445
+ created_at:
22446
+ type: string
22447
+ format: date-time
22448
+ description: When the external product was created in Recurly.
22449
+ updated_at:
22450
+ type: string
22451
+ format: date-time
22452
+ description: When the external product was updated in Recurly.
22453
+ ExternalSubscription:
22454
+ type: object
22455
+ description: Subscription from an external resource such as Apple App or Google
22456
+ Play.
22457
+ properties:
22458
+ id:
22459
+ type: string
22460
+ title: External subscription ID
22461
+ description: System-generated unique identifier for an external subscription
22462
+ ID, e.g. `e28zov4fw0v2`.
22463
+ object:
22464
+ type: string
22465
+ title: Object type
22466
+ account:
22467
+ "$ref": "#/components/schemas/AccountMini"
22468
+ external_resource:
22469
+ "$ref": "#/components/schemas/ExternalResourceMini"
22470
+ external_product_reference:
22471
+ "$ref": "#/components/schemas/ExternalProductReferenceMini"
22472
+ last_purchased:
22473
+ type: string
22474
+ format: date-time
22475
+ title: Last purchased
22476
+ description: When a new billing event occurred on the external subscription
22477
+ in conjunction with a recent billing period, reactivation or upgrade/downgrade.
22478
+ auto_renew:
22479
+ type: boolean
22480
+ title: Auto-renew
22481
+ description: An indication of whether or not the external subscription will
22482
+ auto-renew at the expiration date.
22483
+ default: false
22484
+ app_identifier:
22485
+ type: string
22486
+ title: App identifier
22487
+ description: Identifier of the app that generated the external subscription.
22488
+ quantity:
22489
+ type: integer
22490
+ title: Quantity
22491
+ description: An indication of the quantity of a subscribed item's quantity.
22492
+ default: 1
22493
+ minimum: 0
22494
+ activated_at:
22495
+ type: string
22496
+ format: date-time
22497
+ title: Activated at
22498
+ description: When the external subscription was activated in the external
22499
+ platform.
22500
+ expires_at:
22501
+ type: string
22502
+ format: date-time
22503
+ title: Expires at
22504
+ description: When the external subscription expires in the external platform.
22505
+ created_at:
22506
+ type: string
22507
+ format: date-time
22508
+ title: Created at
22509
+ description: When the external subscription was created in Recurly.
22510
+ updated_at:
22511
+ type: string
22512
+ format: date-time
22513
+ title: Updated at
22514
+ description: When the external subscription was updated in Recurly.
22515
+ ExternalSubscriptionList:
22516
+ type: object
22517
+ properties:
22518
+ object:
22519
+ type: string
22520
+ title: Object type
22521
+ description: Will always be List.
22522
+ has_more:
22523
+ type: boolean
22524
+ description: Indicates there are more results on subsequent pages.
22525
+ next:
22526
+ type: string
22527
+ description: Path to subsequent page of results.
22528
+ data:
22529
+ type: array
22530
+ items:
22531
+ "$ref": "#/components/schemas/ExternalSubscription"
22532
+ ExternalResourceMini:
22533
+ type: object
22534
+ title: External Resource mini details
22535
+ properties:
22536
+ id:
22537
+ type: string
22538
+ title: External resource ID
22539
+ description: System-generated unique identifier for an external resource
22540
+ ID, e.g. `e28zov4fw0v2`.
22541
+ object:
22542
+ type: string
22543
+ title: Object type
22544
+ external_object_reference:
22545
+ type: string
22546
+ title: External Object Reference
22547
+ description: Identifier or URL reference where the resource is canonically
22548
+ available in the external platform.
22549
+ maxLength: 255
22550
+ readOnly: true
22178
22551
  CustomerPermission:
22179
22552
  type: object
22180
22553
  properties:
@@ -22367,6 +22740,7 @@ components:
22367
22740
  enum:
22368
22741
  - account
22369
22742
  - item
22743
+ - plan
22370
22744
  - subscription
22371
22745
  RefundTypeEnum:
22372
22746
  type: string
@@ -22392,6 +22766,15 @@ components:
22392
22766
  - percentage
22393
22767
  title: Usage Type
22394
22768
  description: Type of usage, returns usage type if `add_on_type` is `usage`.
22769
+ UsageCalculationTypeEnum:
22770
+ type: string
22771
+ description: The type of calculation to be employed for an add-on. Cumulative
22772
+ billing will sum all usage records created in the current billing cycle. Last-in-period
22773
+ billing will apply only the most recent usage record in the billing period. If
22774
+ no value is specified, cumulative billing will be used.
22775
+ enum:
22776
+ - cumulative
22777
+ - last_in_period
22395
22778
  BillingStatusEnum:
22396
22779
  type: string
22397
22780
  default: unbilled
@@ -22596,7 +22979,7 @@ components:
22596
22979
  title: Usage Type
22597
22980
  description: |
22598
22981
  Type of usage, required if `add_on_type` is `usage`. See our
22599
- [Guide](https://developers.recurly.com/guides/usage-based-billing-guide.html) for an
22982
+ [Guide](https://recurly.com/developers/guides/usage-based-billing-guide.html) for an
22600
22983
  overview of how to configure usage add-ons.
22601
22984
  TierTypeEnum:
22602
22985
  type: string
@@ -22604,7 +22987,7 @@ components:
22604
22987
  description: |
22605
22988
  The pricing model for the add-on. For more information,
22606
22989
  [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See our
22607
- [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview of how
22990
+ [Guide](https://recurly.com/developers/guides/item-addon-guide.html) for an overview of how
22608
22991
  to configure quantity-based pricing models.
22609
22992
  default: flat
22610
22993
  enum:
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.24.0
4
+ version: 4.25.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-11-03 00:00:00.000000000 Z
11
+ date: 2022-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -252,6 +252,10 @@ files:
252
252
  - lib/recurly/resources/export_dates.rb
253
253
  - lib/recurly/resources/export_file.rb
254
254
  - lib/recurly/resources/export_files.rb
255
+ - lib/recurly/resources/external_product.rb
256
+ - lib/recurly/resources/external_product_reference_mini.rb
257
+ - lib/recurly/resources/external_resource_mini.rb
258
+ - lib/recurly/resources/external_subscription.rb
255
259
  - lib/recurly/resources/fraud_info.rb
256
260
  - lib/recurly/resources/granted_by.rb
257
261
  - lib/recurly/resources/invoice.rb
@@ -322,7 +326,7 @@ metadata:
322
326
  changelog_uri: https://github.com/recurly/recurly-client-ruby/blob/master/CHANGELOG.md
323
327
  documentation_uri: https://recurly.github.io/recurly-client-ruby/
324
328
  homepage_uri: https://github.com/recurly/recurly-client-ruby
325
- source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.24.0
329
+ source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.25.0
326
330
  post_install_message:
327
331
  rdoc_options: []
328
332
  require_paths: