dodopayments 2.18.1 → 2.19.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.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/models/checkout_session_request.rb +5 -3
  5. data/lib/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rb +5 -3
  6. data/lib/dodopayments/models/credit_entitlements/balance_list_grants_response.rb +24 -3
  7. data/lib/dodopayments/models/credit_entitlements/credit_ledger_entry.rb +3 -3
  8. data/lib/dodopayments/models/customer.rb +3 -3
  9. data/lib/dodopayments/models/customer_create_params.rb +3 -3
  10. data/lib/dodopayments/models/customer_limited_details.rb +3 -3
  11. data/lib/dodopayments/models/customer_list_entitlement_grants_params.rb +85 -0
  12. data/lib/dodopayments/models/customer_update_params.rb +5 -3
  13. data/lib/dodopayments/models/discount.rb +4 -3
  14. data/lib/dodopayments/models/discount_create_params.rb +3 -3
  15. data/lib/dodopayments/models/discount_detail.rb +3 -3
  16. data/lib/dodopayments/models/discount_update_params.rb +5 -3
  17. data/lib/dodopayments/models/entitlement.rb +5 -5
  18. data/lib/dodopayments/models/entitlement_create_params.rb +5 -5
  19. data/lib/dodopayments/models/entitlement_integration_type.rb +1 -0
  20. data/lib/dodopayments/models/entitlement_list_params.rb +1 -0
  21. data/lib/dodopayments/models/entitlement_update_params.rb +12 -5
  22. data/lib/dodopayments/models/entitlements/entitlement_grant.rb +13 -4
  23. data/lib/dodopayments/models/feature.rb +26 -0
  24. data/lib/dodopayments/models/feature_type.rb +15 -0
  25. data/lib/dodopayments/models/integration_config.rb +30 -1
  26. data/lib/dodopayments/models/integration_config_response.rb +22 -1
  27. data/lib/dodopayments/models/metadata.rb +15 -1
  28. data/lib/dodopayments/models/payment.rb +3 -3
  29. data/lib/dodopayments/models/payment_create_params.rb +3 -3
  30. data/lib/dodopayments/models/payment_create_response.rb +3 -3
  31. data/lib/dodopayments/models/payment_list_response.rb +4 -3
  32. data/lib/dodopayments/models/product.rb +3 -3
  33. data/lib/dodopayments/models/product_create_params.rb +3 -3
  34. data/lib/dodopayments/models/product_entitlement_summary.rb +2 -2
  35. data/lib/dodopayments/models/product_list_response.rb +3 -3
  36. data/lib/dodopayments/models/product_update_params.rb +5 -3
  37. data/lib/dodopayments/models/refund.rb +3 -3
  38. data/lib/dodopayments/models/refund_create_params.rb +3 -3
  39. data/lib/dodopayments/models/subscription.rb +3 -3
  40. data/lib/dodopayments/models/subscription_charge_params.rb +5 -3
  41. data/lib/dodopayments/models/subscription_create_params.rb +3 -3
  42. data/lib/dodopayments/models/subscription_create_response.rb +3 -3
  43. data/lib/dodopayments/models/subscription_list_response.rb +3 -3
  44. data/lib/dodopayments/models/subscription_update_params.rb +6 -3
  45. data/lib/dodopayments/models/update_subscription_plan_req.rb +5 -3
  46. data/lib/dodopayments/models.rb +8 -0
  47. data/lib/dodopayments/resources/checkout_sessions.rb +2 -2
  48. data/lib/dodopayments/resources/credit_entitlements/balances.rb +1 -1
  49. data/lib/dodopayments/resources/customers.rb +35 -2
  50. data/lib/dodopayments/resources/discounts.rb +2 -2
  51. data/lib/dodopayments/resources/entitlements.rb +4 -4
  52. data/lib/dodopayments/resources/payments.rb +1 -1
  53. data/lib/dodopayments/resources/products.rb +2 -2
  54. data/lib/dodopayments/resources/refunds.rb +1 -1
  55. data/lib/dodopayments/resources/subscriptions.rb +5 -5
  56. data/lib/dodopayments/version.rb +1 -1
  57. data/lib/dodopayments.rb +3 -0
  58. data/rbi/dodopayments/models/checkout_session_request.rbi +9 -3
  59. data/rbi/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rbi +11 -3
  60. data/rbi/dodopayments/models/credit_entitlements/balance_list_grants_response.rbi +13 -3
  61. data/rbi/dodopayments/models/credit_entitlements/credit_ledger_entry.rbi +3 -3
  62. data/rbi/dodopayments/models/customer.rbi +12 -4
  63. data/rbi/dodopayments/models/customer_create_params.rbi +12 -4
  64. data/rbi/dodopayments/models/customer_limited_details.rbi +12 -4
  65. data/rbi/dodopayments/models/customer_list_entitlement_grants_params.rbi +229 -0
  66. data/rbi/dodopayments/models/customer_update_params.rbi +9 -3
  67. data/rbi/dodopayments/models/discount.rbi +5 -3
  68. data/rbi/dodopayments/models/discount_create_params.rbi +12 -4
  69. data/rbi/dodopayments/models/discount_detail.rbi +3 -3
  70. data/rbi/dodopayments/models/discount_update_params.rbi +9 -3
  71. data/rbi/dodopayments/models/entitlement.rbi +4 -3
  72. data/rbi/dodopayments/models/entitlement_create_params.rbi +15 -4
  73. data/rbi/dodopayments/models/entitlement_integration_type.rbi +5 -0
  74. data/rbi/dodopayments/models/entitlement_list_params.rbi +5 -0
  75. data/rbi/dodopayments/models/entitlement_update_params.rbi +22 -3
  76. data/rbi/dodopayments/models/entitlements/entitlement_grant.rbi +16 -3
  77. data/rbi/dodopayments/models/feature.rbi +46 -0
  78. data/rbi/dodopayments/models/feature_type.rbi +21 -0
  79. data/rbi/dodopayments/models/integration_config.rbi +50 -0
  80. data/rbi/dodopayments/models/integration_config_response.rbi +44 -0
  81. data/rbi/dodopayments/models/metadata.rbi +12 -1
  82. data/rbi/dodopayments/models/payment.rbi +3 -3
  83. data/rbi/dodopayments/models/payment_create_params.rbi +12 -4
  84. data/rbi/dodopayments/models/payment_create_response.rbi +3 -3
  85. data/rbi/dodopayments/models/payment_list_response.rbi +5 -3
  86. data/rbi/dodopayments/models/product.rbi +3 -3
  87. data/rbi/dodopayments/models/product_create_params.rbi +12 -4
  88. data/rbi/dodopayments/models/product_entitlement_summary.rbi +1 -0
  89. data/rbi/dodopayments/models/product_list_response.rbi +3 -3
  90. data/rbi/dodopayments/models/product_update_params.rbi +9 -3
  91. data/rbi/dodopayments/models/refund.rbi +3 -3
  92. data/rbi/dodopayments/models/refund_create_params.rbi +12 -4
  93. data/rbi/dodopayments/models/subscription.rbi +3 -3
  94. data/rbi/dodopayments/models/subscription_charge_params.rbi +9 -3
  95. data/rbi/dodopayments/models/subscription_create_params.rbi +12 -4
  96. data/rbi/dodopayments/models/subscription_create_response.rbi +3 -3
  97. data/rbi/dodopayments/models/subscription_list_response.rbi +3 -3
  98. data/rbi/dodopayments/models/subscription_update_params.rbi +11 -3
  99. data/rbi/dodopayments/models/update_subscription_plan_req.rbi +9 -3
  100. data/rbi/dodopayments/models.rbi +9 -0
  101. data/rbi/dodopayments/resources/checkout_sessions.rbi +4 -2
  102. data/rbi/dodopayments/resources/credit_entitlements/balances.rbi +2 -1
  103. data/rbi/dodopayments/resources/customers.rbi +36 -2
  104. data/rbi/dodopayments/resources/discounts.rbi +3 -2
  105. data/rbi/dodopayments/resources/entitlements.rbi +10 -2
  106. data/rbi/dodopayments/resources/payments.rbi +1 -1
  107. data/rbi/dodopayments/resources/products.rbi +3 -2
  108. data/rbi/dodopayments/resources/refunds.rbi +1 -1
  109. data/rbi/dodopayments/resources/subscriptions.rbi +10 -5
  110. data/sig/dodopayments/models/customer_list_entitlement_grants_params.rbs +98 -0
  111. data/sig/dodopayments/models/entitlement_integration_type.rbs +2 -0
  112. data/sig/dodopayments/models/entitlement_list_params.rbs +2 -0
  113. data/sig/dodopayments/models/entitlements/entitlement_grant.rbs +5 -0
  114. data/sig/dodopayments/models/feature.rbs +22 -0
  115. data/sig/dodopayments/models/feature_type.rbs +13 -0
  116. data/sig/dodopayments/models/integration_config.rbs +21 -1
  117. data/sig/dodopayments/models/integration_config_response.rbs +21 -1
  118. data/sig/dodopayments/models/metadata.rbs +9 -1
  119. data/sig/dodopayments/models.rbs +8 -0
  120. data/sig/dodopayments/resources/customers.rbs +9 -0
  121. metadata +11 -2
@@ -11,7 +11,7 @@ module Dodopayments
11
11
  type: Dodopayments::DiscountType::OrSymbol,
12
12
  code: T.nilable(String),
13
13
  expires_at: T.nilable(Time),
14
- metadata: T::Hash[Symbol, String],
14
+ metadata: T::Hash[Symbol, Dodopayments::MetadataItem::Variants],
15
15
  name: T.nilable(String),
16
16
  preserve_on_plan_change: T::Boolean,
17
17
  restricted_to: T.nilable(T::Array[String]),
@@ -74,7 +74,8 @@ module Dodopayments
74
74
  amount: T.nilable(Integer),
75
75
  code: T.nilable(String),
76
76
  expires_at: T.nilable(Time),
77
- metadata: T.nilable(T::Hash[Symbol, String]),
77
+ metadata:
78
+ T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
78
79
  name: T.nilable(String),
79
80
  preserve_on_plan_change: T.nilable(T::Boolean),
80
81
  restricted_to: T.nilable(T::Array[String]),
@@ -14,6 +14,7 @@ module Dodopayments
14
14
  params(
15
15
  integration_config:
16
16
  T.any(
17
+ Dodopayments::IntegrationConfig::FeatureFlagConfig::OrHash,
17
18
  Dodopayments::IntegrationConfig::GitHubConfig::OrHash,
18
19
  Dodopayments::IntegrationConfig::DiscordConfig::OrHash,
19
20
  Dodopayments::IntegrationConfig::TelegramConfig::OrHash,
@@ -26,7 +27,7 @@ module Dodopayments
26
27
  integration_type: Dodopayments::EntitlementIntegrationType::OrSymbol,
27
28
  name: String,
28
29
  description: T.nilable(String),
29
- metadata: T::Hash[Symbol, String],
30
+ metadata: T::Hash[Symbol, Dodopayments::MetadataItem::Variants],
30
31
  request_options: Dodopayments::RequestOptions::OrHash
31
32
  ).returns(Dodopayments::Entitlement)
32
33
  end
@@ -67,6 +68,7 @@ module Dodopayments
67
68
  integration_config:
68
69
  T.nilable(
69
70
  T.any(
71
+ Dodopayments::IntegrationConfig::FeatureFlagConfig::OrHash,
70
72
  Dodopayments::IntegrationConfig::GitHubConfig::OrHash,
71
73
  Dodopayments::IntegrationConfig::DiscordConfig::OrHash,
72
74
  Dodopayments::IntegrationConfig::TelegramConfig::OrHash,
@@ -77,7 +79,8 @@ module Dodopayments
77
79
  Dodopayments::IntegrationConfig::LicenseKeyConfig::OrHash
78
80
  )
79
81
  ),
80
- metadata: T.nilable(T::Hash[Symbol, String]),
82
+ metadata:
83
+ T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
81
84
  name: T.nilable(String),
82
85
  request_options: Dodopayments::RequestOptions::OrHash
83
86
  ).returns(Dodopayments::Entitlement)
@@ -88,7 +91,12 @@ module Dodopayments
88
91
  description: nil,
89
92
  # Integration-specific configuration supplied when creating or updating an
90
93
  # entitlement. The shape required matches the entitlement's `integration_type`.
94
+ #
95
+ # Untagged enum: variants are matched in order. `FeatureFlag` must precede
96
+ # `LicenseKey`, whose fields are all optional and would otherwise match a
97
+ # `feature_flag` config.
91
98
  integration_config: nil,
99
+ # Arbitrary key-value metadata. Values can be string, integer, number, or boolean.
92
100
  metadata: nil,
93
101
  name: nil,
94
102
  request_options: {}
@@ -20,7 +20,7 @@ module Dodopayments
20
20
  discount_code: T.nilable(String),
21
21
  discount_codes: T.nilable(T::Array[String]),
22
22
  force_3ds: T.nilable(T::Boolean),
23
- metadata: T::Hash[Symbol, String],
23
+ metadata: T::Hash[Symbol, Dodopayments::MetadataItem::Variants],
24
24
  payment_link: T.nilable(T::Boolean),
25
25
  payment_method_id: T.nilable(String),
26
26
  redirect_immediately: T::Boolean,
@@ -38,7 +38,7 @@ module Dodopayments
38
38
  license_key_duration:
39
39
  T.nilable(Dodopayments::LicenseKeyDuration::OrHash),
40
40
  license_key_enabled: T.nilable(T::Boolean),
41
- metadata: T::Hash[Symbol, String],
41
+ metadata: T::Hash[Symbol, Dodopayments::MetadataItem::Variants],
42
42
  pricing_mode:
43
43
  T.nilable(Dodopayments::Products::PricingMode::OrSymbol),
44
44
  request_options: Dodopayments::RequestOptions::OrHash
@@ -131,7 +131,8 @@ module Dodopayments
131
131
  license_key_duration:
132
132
  T.nilable(Dodopayments::LicenseKeyDuration::OrHash),
133
133
  license_key_enabled: T.nilable(T::Boolean),
134
- metadata: T.nilable(T::Hash[Symbol, String]),
134
+ metadata:
135
+ T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
135
136
  name: T.nilable(String),
136
137
  price:
137
138
  T.nilable(
@@ -8,7 +8,7 @@ module Dodopayments
8
8
  payment_id: String,
9
9
  items:
10
10
  T.nilable(T::Array[Dodopayments::RefundCreateParams::Item::OrHash]),
11
- metadata: T::Hash[Symbol, String],
11
+ metadata: T::Hash[Symbol, Dodopayments::MetadataItem::Variants],
12
12
  reason: T.nilable(String),
13
13
  request_options: Dodopayments::RequestOptions::OrHash
14
14
  ).returns(Dodopayments::Refund)
@@ -22,7 +22,7 @@ module Dodopayments
22
22
  discount_codes: T.nilable(T::Array[String]),
23
23
  force_3ds: T.nilable(T::Boolean),
24
24
  mandate_min_amount_inr_paise: T.nilable(Integer),
25
- metadata: T::Hash[Symbol, String],
25
+ metadata: T::Hash[Symbol, Dodopayments::MetadataItem::Variants],
26
26
  on_demand: T.nilable(Dodopayments::OnDemandSubscription::OrHash),
27
27
  one_time_product_cart:
28
28
  T.nilable(T::Array[Dodopayments::OneTimeProductCartItem::OrHash]),
@@ -150,7 +150,8 @@ module Dodopayments
150
150
  T.nilable(
151
151
  Dodopayments::SubscriptionUpdateParams::DisableOnDemand::OrHash
152
152
  ),
153
- metadata: T.nilable(T::Hash[Symbol, String]),
153
+ metadata:
154
+ T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
154
155
  next_billing_date: T.nilable(Time),
155
156
  status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
156
157
  tax_id: T.nilable(String),
@@ -179,6 +180,7 @@ module Dodopayments
179
180
  customer_business_name: nil,
180
181
  customer_name: nil,
181
182
  disable_on_demand: nil,
183
+ # Arbitrary key-value metadata. Values can be string, integer, number, or boolean.
182
184
  metadata: nil,
183
185
  next_billing_date: nil,
184
186
  status: nil,
@@ -251,7 +253,8 @@ module Dodopayments
251
253
  discount_codes: T.nilable(T::Array[String]),
252
254
  effective_at:
253
255
  Dodopayments::UpdateSubscriptionPlanReq::EffectiveAt::OrSymbol,
254
- metadata: T.nilable(T::Hash[Symbol, String]),
256
+ metadata:
257
+ T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
255
258
  on_payment_failure:
256
259
  T.nilable(
257
260
  Dodopayments::UpdateSubscriptionPlanReq::OnPaymentFailure::OrSymbol
@@ -311,7 +314,8 @@ module Dodopayments
311
314
  T.nilable(
312
315
  Dodopayments::SubscriptionChargeParams::CustomerBalanceConfig::OrHash
313
316
  ),
314
- metadata: T.nilable(T::Hash[Symbol, String]),
317
+ metadata:
318
+ T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
315
319
  product_currency: T.nilable(Dodopayments::Currency::OrSymbol),
316
320
  product_description: T.nilable(String),
317
321
  request_options: Dodopayments::RequestOptions::OrHash
@@ -355,7 +359,8 @@ module Dodopayments
355
359
  discount_codes: T.nilable(T::Array[String]),
356
360
  effective_at:
357
361
  Dodopayments::UpdateSubscriptionPlanReq::EffectiveAt::OrSymbol,
358
- metadata: T.nilable(T::Hash[Symbol, String]),
362
+ metadata:
363
+ T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
359
364
  on_payment_failure:
360
365
  T.nilable(
361
366
  Dodopayments::UpdateSubscriptionPlanReq::OnPaymentFailure::OrSymbol
@@ -0,0 +1,98 @@
1
+ module Dodopayments
2
+ module Models
3
+ type customer_list_entitlement_grants_params =
4
+ {
5
+ customer_id: String,
6
+ integration_type: Dodopayments::Models::CustomerListEntitlementGrantsParams::integration_type,
7
+ page_number: Integer,
8
+ page_size: Integer,
9
+ status: Dodopayments::Models::CustomerListEntitlementGrantsParams::status
10
+ }
11
+ & Dodopayments::Internal::Type::request_parameters
12
+
13
+ class CustomerListEntitlementGrantsParams < Dodopayments::Internal::Type::BaseModel
14
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
15
+ include Dodopayments::Internal::Type::RequestParameters
16
+
17
+ attr_accessor customer_id: String
18
+
19
+ attr_reader integration_type: Dodopayments::Models::CustomerListEntitlementGrantsParams::integration_type?
20
+
21
+ def integration_type=: (
22
+ Dodopayments::Models::CustomerListEntitlementGrantsParams::integration_type
23
+ ) -> Dodopayments::Models::CustomerListEntitlementGrantsParams::integration_type
24
+
25
+ attr_reader page_number: Integer?
26
+
27
+ def page_number=: (Integer) -> Integer
28
+
29
+ attr_reader page_size: Integer?
30
+
31
+ def page_size=: (Integer) -> Integer
32
+
33
+ attr_reader status: Dodopayments::Models::CustomerListEntitlementGrantsParams::status?
34
+
35
+ def status=: (
36
+ Dodopayments::Models::CustomerListEntitlementGrantsParams::status
37
+ ) -> Dodopayments::Models::CustomerListEntitlementGrantsParams::status
38
+
39
+ def initialize: (
40
+ customer_id: String,
41
+ ?integration_type: Dodopayments::Models::CustomerListEntitlementGrantsParams::integration_type,
42
+ ?page_number: Integer,
43
+ ?page_size: Integer,
44
+ ?status: Dodopayments::Models::CustomerListEntitlementGrantsParams::status,
45
+ ?request_options: Dodopayments::request_opts
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ customer_id: String,
50
+ integration_type: Dodopayments::Models::CustomerListEntitlementGrantsParams::integration_type,
51
+ page_number: Integer,
52
+ page_size: Integer,
53
+ status: Dodopayments::Models::CustomerListEntitlementGrantsParams::status,
54
+ request_options: Dodopayments::RequestOptions
55
+ }
56
+
57
+ type integration_type =
58
+ :discord
59
+ | :telegram
60
+ | :github
61
+ | :figma
62
+ | :framer
63
+ | :notion
64
+ | :digital_files
65
+ | :license_key
66
+ | :feature_flag
67
+
68
+ module IntegrationType
69
+ extend Dodopayments::Internal::Type::Enum
70
+
71
+ DISCORD: :discord
72
+ TELEGRAM: :telegram
73
+ GITHUB: :github
74
+ FIGMA: :figma
75
+ FRAMER: :framer
76
+ NOTION: :notion
77
+ DIGITAL_FILES: :digital_files
78
+ LICENSE_KEY: :license_key
79
+ FEATURE_FLAG: :feature_flag
80
+
81
+ def self?.values: -> ::Array[Dodopayments::Models::CustomerListEntitlementGrantsParams::integration_type]
82
+ end
83
+
84
+ type status = :Pending | :Delivered | :Failed | :Revoked
85
+
86
+ module Status
87
+ extend Dodopayments::Internal::Type::Enum
88
+
89
+ PENDING: :Pending
90
+ DELIVERED: :Delivered
91
+ FAILED: :Failed
92
+ REVOKED: :Revoked
93
+
94
+ def self?.values: -> ::Array[Dodopayments::Models::CustomerListEntitlementGrantsParams::status]
95
+ end
96
+ end
97
+ end
98
+ end
@@ -9,6 +9,7 @@ module Dodopayments
9
9
  | :notion
10
10
  | :digital_files
11
11
  | :license_key
12
+ | :feature_flag
12
13
 
13
14
  module EntitlementIntegrationType
14
15
  extend Dodopayments::Internal::Type::Enum
@@ -21,6 +22,7 @@ module Dodopayments
21
22
  NOTION: :notion
22
23
  DIGITAL_FILES: :digital_files
23
24
  LICENSE_KEY: :license_key
25
+ FEATURE_FLAG: :feature_flag
24
26
 
25
27
  def self?.values: -> ::Array[Dodopayments::Models::entitlement_integration_type]
26
28
  end
@@ -49,6 +49,7 @@ module Dodopayments
49
49
  | :notion
50
50
  | :digital_files
51
51
  | :license_key
52
+ | :feature_flag
52
53
 
53
54
  module IntegrationType
54
55
  extend Dodopayments::Internal::Type::Enum
@@ -61,6 +62,7 @@ module Dodopayments
61
62
  NOTION: :notion
62
63
  DIGITAL_FILES: :digital_files
63
64
  LICENSE_KEY: :license_key
65
+ FEATURE_FLAG: :feature_flag
64
66
 
65
67
  def self?.values: -> ::Array[Dodopayments::Models::EntitlementListParams::integration_type]
66
68
  end
@@ -19,6 +19,7 @@ module Dodopayments
19
19
  digital_product_delivery: Dodopayments::DigitalProductDelivery?,
20
20
  error_code: String?,
21
21
  error_message: String?,
22
+ feature: Dodopayments::Feature?,
22
23
  license_key: Dodopayments::Entitlements::LicenseKeyGrant?,
23
24
  oauth_expires_at: Time?,
24
25
  oauth_url: String?,
@@ -57,6 +58,8 @@ module Dodopayments
57
58
 
58
59
  attr_accessor error_message: String?
59
60
 
61
+ attr_accessor feature: Dodopayments::Feature?
62
+
60
63
  attr_accessor license_key: Dodopayments::Entitlements::LicenseKeyGrant?
61
64
 
62
65
  attr_accessor oauth_expires_at: Time?
@@ -86,6 +89,7 @@ module Dodopayments
86
89
  ?digital_product_delivery: Dodopayments::DigitalProductDelivery?,
87
90
  ?error_code: String?,
88
91
  ?error_message: String?,
92
+ ?feature: Dodopayments::Feature?,
89
93
  ?license_key: Dodopayments::Entitlements::LicenseKeyGrant?,
90
94
  ?oauth_expires_at: Time?,
91
95
  ?oauth_url: String?,
@@ -110,6 +114,7 @@ module Dodopayments
110
114
  digital_product_delivery: Dodopayments::DigitalProductDelivery?,
111
115
  error_code: String?,
112
116
  error_message: String?,
117
+ feature: Dodopayments::Feature?,
113
118
  license_key: Dodopayments::Entitlements::LicenseKeyGrant?,
114
119
  oauth_expires_at: Time?,
115
120
  oauth_url: String?,
@@ -0,0 +1,22 @@
1
+ module Dodopayments
2
+ module Models
3
+ type feature =
4
+ { feature_id: String, feature_type: Dodopayments::Models::feature_type }
5
+
6
+ class Feature < Dodopayments::Internal::Type::BaseModel
7
+ attr_accessor feature_id: String
8
+
9
+ attr_accessor feature_type: Dodopayments::Models::feature_type
10
+
11
+ def initialize: (
12
+ feature_id: String,
13
+ feature_type: Dodopayments::Models::feature_type
14
+ ) -> void
15
+
16
+ def to_hash: -> {
17
+ feature_id: String,
18
+ feature_type: Dodopayments::Models::feature_type
19
+ }
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,13 @@
1
+ module Dodopayments
2
+ module Models
3
+ type feature_type = :boolean
4
+
5
+ module FeatureType
6
+ extend Dodopayments::Internal::Type::Enum
7
+
8
+ BOOLEAN: :boolean
9
+
10
+ def self?.values: -> ::Array[Dodopayments::Models::feature_type]
11
+ end
12
+ end
13
+ end
@@ -1,7 +1,8 @@
1
1
  module Dodopayments
2
2
  module Models
3
3
  type integration_config =
4
- Dodopayments::IntegrationConfig::GitHubConfig
4
+ Dodopayments::IntegrationConfig::FeatureFlagConfig
5
+ | Dodopayments::IntegrationConfig::GitHubConfig
5
6
  | Dodopayments::IntegrationConfig::DiscordConfig
6
7
  | Dodopayments::IntegrationConfig::TelegramConfig
7
8
  | Dodopayments::IntegrationConfig::FigmaConfig
@@ -13,6 +14,25 @@ module Dodopayments
13
14
  module IntegrationConfig
14
15
  extend Dodopayments::Internal::Type::Union
15
16
 
17
+ type feature_flag_config =
18
+ { feature_id: String, feature_type: Dodopayments::Models::feature_type }
19
+
20
+ class FeatureFlagConfig < Dodopayments::Internal::Type::BaseModel
21
+ attr_accessor feature_id: String
22
+
23
+ attr_accessor feature_type: Dodopayments::Models::feature_type
24
+
25
+ def initialize: (
26
+ feature_id: String,
27
+ feature_type: Dodopayments::Models::feature_type
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ feature_id: String,
32
+ feature_type: Dodopayments::Models::feature_type
33
+ }
34
+ end
35
+
16
36
  type github_config =
17
37
  {
18
38
  permission: Dodopayments::Models::github_permission,
@@ -1,7 +1,8 @@
1
1
  module Dodopayments
2
2
  module Models
3
3
  type integration_config_response =
4
- Dodopayments::IntegrationConfigResponse::GitHubConfig
4
+ Dodopayments::IntegrationConfigResponse::FeatureFlagConfig
5
+ | Dodopayments::IntegrationConfigResponse::GitHubConfig
5
6
  | Dodopayments::IntegrationConfigResponse::DiscordConfig
6
7
  | Dodopayments::IntegrationConfigResponse::TelegramConfig
7
8
  | Dodopayments::IntegrationConfigResponse::FigmaConfig
@@ -13,6 +14,25 @@ module Dodopayments
13
14
  module IntegrationConfigResponse
14
15
  extend Dodopayments::Internal::Type::Union
15
16
 
17
+ type feature_flag_config =
18
+ { feature_id: String, feature_type: Dodopayments::Models::feature_type }
19
+
20
+ class FeatureFlagConfig < Dodopayments::Internal::Type::BaseModel
21
+ attr_accessor feature_id: String
22
+
23
+ attr_accessor feature_type: Dodopayments::Models::feature_type
24
+
25
+ def initialize: (
26
+ feature_id: String,
27
+ feature_type: Dodopayments::Models::feature_type
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ feature_id: String,
32
+ feature_type: Dodopayments::Models::feature_type
33
+ }
34
+ end
35
+
16
36
  type github_config =
17
37
  {
18
38
  permission: Dodopayments::Models::github_permission,
@@ -1,6 +1,14 @@
1
1
  module Dodopayments
2
2
  module Models
3
- type metadata = ::Hash[Symbol, String]
3
+ type metadata_item = String | Float | bool
4
+
5
+ module MetadataItem
6
+ extend Dodopayments::Internal::Type::Union
7
+
8
+ def self?.variants: -> ::Array[Dodopayments::Models::metadata_item]
9
+ end
10
+
11
+ type metadata = ::Hash[Symbol, Dodopayments::Models::metadata_item]
4
12
 
5
13
  Metadata: Dodopayments::Internal::Type::Converter
6
14
  end
@@ -125,6 +125,8 @@ module Dodopayments
125
125
 
126
126
  class CustomerListCreditEntitlementsParams = Dodopayments::Models::CustomerListCreditEntitlementsParams
127
127
 
128
+ class CustomerListEntitlementGrantsParams = Dodopayments::Models::CustomerListEntitlementGrantsParams
129
+
128
130
  class CustomerListEntitlementsParams = Dodopayments::Models::CustomerListEntitlementsParams
129
131
 
130
132
  class CustomerListParams = Dodopayments::Models::CustomerListParams
@@ -223,6 +225,10 @@ module Dodopayments
223
225
 
224
226
  class EventInput = Dodopayments::Models::EventInput
225
227
 
228
+ class Feature = Dodopayments::Models::Feature
229
+
230
+ module FeatureType = Dodopayments::Models::FeatureType
231
+
226
232
  module FilterOperator = Dodopayments::Models::FilterOperator
227
233
 
228
234
  module FilterType = Dodopayments::Models::FilterType
@@ -271,6 +277,8 @@ module Dodopayments
271
277
 
272
278
  Metadata: Dodopayments::Internal::Type::Converter
273
279
 
280
+ type metadata_item = Dodopayments::Models::metadata_item
281
+
274
282
  class Meter = Dodopayments::Models::Meter
275
283
 
276
284
  class MeterAggregation = Dodopayments::Models::MeterAggregation
@@ -48,6 +48,15 @@ module Dodopayments
48
48
  ?request_options: Dodopayments::request_opts
49
49
  ) -> Dodopayments::Models::CustomerListCreditEntitlementsResponse
50
50
 
51
+ def list_entitlement_grants: (
52
+ String customer_id,
53
+ ?integration_type: Dodopayments::Models::CustomerListEntitlementGrantsParams::integration_type,
54
+ ?page_number: Integer,
55
+ ?page_size: Integer,
56
+ ?status: Dodopayments::Models::CustomerListEntitlementGrantsParams::status,
57
+ ?request_options: Dodopayments::request_opts
58
+ ) -> Dodopayments::Internal::DefaultPageNumberPagination[Dodopayments::Entitlements::EntitlementGrant]
59
+
51
60
  def list_entitlements: (
52
61
  String customer_id,
53
62
  ?request_options: Dodopayments::request_opts
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dodopayments
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.18.1
4
+ version: 2.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dodo Payments
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-27 00:00:00.000000000 Z
11
+ date: 2026-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -164,6 +164,7 @@ files:
164
164
  - lib/dodopayments/models/customer_limited_details.rb
165
165
  - lib/dodopayments/models/customer_list_credit_entitlements_params.rb
166
166
  - lib/dodopayments/models/customer_list_credit_entitlements_response.rb
167
+ - lib/dodopayments/models/customer_list_entitlement_grants_params.rb
167
168
  - lib/dodopayments/models/customer_list_entitlements_params.rb
168
169
  - lib/dodopayments/models/customer_list_entitlements_response.rb
169
170
  - lib/dodopayments/models/customer_list_params.rb
@@ -227,6 +228,8 @@ files:
227
228
  - lib/dodopayments/models/entitlements/license_key_grant.rb
228
229
  - lib/dodopayments/models/event.rb
229
230
  - lib/dodopayments/models/event_input.rb
231
+ - lib/dodopayments/models/feature.rb
232
+ - lib/dodopayments/models/feature_type.rb
230
233
  - lib/dodopayments/models/filter_operator.rb
231
234
  - lib/dodopayments/models/filter_type.rb
232
235
  - lib/dodopayments/models/get_dispute.rb
@@ -546,6 +549,7 @@ files:
546
549
  - rbi/dodopayments/models/customer_limited_details.rbi
547
550
  - rbi/dodopayments/models/customer_list_credit_entitlements_params.rbi
548
551
  - rbi/dodopayments/models/customer_list_credit_entitlements_response.rbi
552
+ - rbi/dodopayments/models/customer_list_entitlement_grants_params.rbi
549
553
  - rbi/dodopayments/models/customer_list_entitlements_params.rbi
550
554
  - rbi/dodopayments/models/customer_list_entitlements_response.rbi
551
555
  - rbi/dodopayments/models/customer_list_params.rbi
@@ -609,6 +613,8 @@ files:
609
613
  - rbi/dodopayments/models/entitlements/license_key_grant.rbi
610
614
  - rbi/dodopayments/models/event.rbi
611
615
  - rbi/dodopayments/models/event_input.rbi
616
+ - rbi/dodopayments/models/feature.rbi
617
+ - rbi/dodopayments/models/feature_type.rbi
612
618
  - rbi/dodopayments/models/filter_operator.rbi
613
619
  - rbi/dodopayments/models/filter_type.rbi
614
620
  - rbi/dodopayments/models/get_dispute.rbi
@@ -927,6 +933,7 @@ files:
927
933
  - sig/dodopayments/models/customer_limited_details.rbs
928
934
  - sig/dodopayments/models/customer_list_credit_entitlements_params.rbs
929
935
  - sig/dodopayments/models/customer_list_credit_entitlements_response.rbs
936
+ - sig/dodopayments/models/customer_list_entitlement_grants_params.rbs
930
937
  - sig/dodopayments/models/customer_list_entitlements_params.rbs
931
938
  - sig/dodopayments/models/customer_list_entitlements_response.rbs
932
939
  - sig/dodopayments/models/customer_list_params.rbs
@@ -990,6 +997,8 @@ files:
990
997
  - sig/dodopayments/models/entitlements/license_key_grant.rbs
991
998
  - sig/dodopayments/models/event.rbs
992
999
  - sig/dodopayments/models/event_input.rbs
1000
+ - sig/dodopayments/models/feature.rbs
1001
+ - sig/dodopayments/models/feature_type.rbs
993
1002
  - sig/dodopayments/models/filter_operator.rbs
994
1003
  - sig/dodopayments/models/filter_type.rbs
995
1004
  - sig/dodopayments/models/get_dispute.rbs