dodopayments 2.6.0 → 2.7.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/internal/util.rb +3 -1
  5. data/lib/dodopayments/models/license_key.rb +33 -10
  6. data/lib/dodopayments/models/license_key_create_params.rb +54 -0
  7. data/lib/dodopayments/models/license_key_list_params.rb +20 -1
  8. data/lib/dodopayments/models/product.rb +228 -1
  9. data/lib/dodopayments/models/product_create_params.rb +15 -1
  10. data/lib/dodopayments/models/product_list_response.rb +225 -1
  11. data/lib/dodopayments/models/product_update_params.rb +16 -1
  12. data/lib/dodopayments/models/webhook_event_type.rb +4 -0
  13. data/lib/dodopayments/models/webhook_payload.rb +176 -3
  14. data/lib/dodopayments/models.rb +2 -0
  15. data/lib/dodopayments/resources/license_keys.rb +37 -1
  16. data/lib/dodopayments/resources/products.rb +6 -2
  17. data/lib/dodopayments/version.rb +1 -1
  18. data/lib/dodopayments.rb +1 -0
  19. data/rbi/dodopayments/models/license_key.rbi +39 -8
  20. data/rbi/dodopayments/models/license_key_create_params.rbi +78 -0
  21. data/rbi/dodopayments/models/license_key_list_params.rbi +44 -0
  22. data/rbi/dodopayments/models/product.rbi +425 -0
  23. data/rbi/dodopayments/models/product_create_params.rbi +8 -0
  24. data/rbi/dodopayments/models/product_list_response.rbi +436 -0
  25. data/rbi/dodopayments/models/product_update_params.rbi +10 -0
  26. data/rbi/dodopayments/models/webhook_event_type.rbi +20 -0
  27. data/rbi/dodopayments/models/webhook_payload.rbi +267 -4
  28. data/rbi/dodopayments/models.rbi +2 -0
  29. data/rbi/dodopayments/resources/license_keys.rbi +28 -0
  30. data/rbi/dodopayments/resources/products.rbi +7 -0
  31. data/sig/dodopayments/models/license_key.rbs +21 -5
  32. data/sig/dodopayments/models/license_key_create_params.rbs +46 -0
  33. data/sig/dodopayments/models/license_key_list_params.rbs +20 -0
  34. data/sig/dodopayments/models/product.rbs +206 -0
  35. data/sig/dodopayments/models/product_create_params.rbs +5 -0
  36. data/sig/dodopayments/models/product_list_response.rbs +206 -0
  37. data/sig/dodopayments/models/product_update_params.rbs +5 -0
  38. data/sig/dodopayments/models/webhook_event_type.rbs +8 -0
  39. data/sig/dodopayments/models/webhook_payload.rbs +158 -0
  40. data/sig/dodopayments/models.rbs +2 -0
  41. data/sig/dodopayments/resources/license_keys.rbs +10 -0
  42. data/sig/dodopayments/resources/products.rbs +2 -0
  43. metadata +5 -2
@@ -23,7 +23,8 @@ module Dodopayments
23
23
  Dodopayments::WebhookPayload::Data::CreditLedgerEntry,
24
24
  Dodopayments::WebhookPayload::Data::CreditBalanceLow,
25
25
  Dodopayments::WebhookPayload::Data::AbandonedCheckout,
26
- Dodopayments::WebhookPayload::Data::DunningAttempt
26
+ Dodopayments::WebhookPayload::Data::DunningAttempt,
27
+ Dodopayments::WebhookPayload::Data::EntitlementGrant
27
28
  )
28
29
  )
29
30
  end
@@ -51,7 +52,8 @@ module Dodopayments
51
52
  Dodopayments::WebhookPayload::Data::CreditLedgerEntry::OrHash,
52
53
  Dodopayments::WebhookPayload::Data::CreditBalanceLow::OrHash,
53
54
  Dodopayments::WebhookPayload::Data::AbandonedCheckout::OrHash,
54
- Dodopayments::WebhookPayload::Data::DunningAttempt::OrHash
55
+ Dodopayments::WebhookPayload::Data::DunningAttempt::OrHash,
56
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::OrHash
55
57
  ),
56
58
  timestamp: Time,
57
59
  type: Dodopayments::WebhookEventType::OrSymbol
@@ -83,7 +85,8 @@ module Dodopayments
83
85
  Dodopayments::WebhookPayload::Data::CreditLedgerEntry,
84
86
  Dodopayments::WebhookPayload::Data::CreditBalanceLow,
85
87
  Dodopayments::WebhookPayload::Data::AbandonedCheckout,
86
- Dodopayments::WebhookPayload::Data::DunningAttempt
88
+ Dodopayments::WebhookPayload::Data::DunningAttempt,
89
+ Dodopayments::WebhookPayload::Data::EntitlementGrant
87
90
  ),
88
91
  timestamp: Time,
89
92
  type: Dodopayments::WebhookEventType::OrSymbol
@@ -108,7 +111,8 @@ module Dodopayments
108
111
  Dodopayments::WebhookPayload::Data::CreditLedgerEntry,
109
112
  Dodopayments::WebhookPayload::Data::CreditBalanceLow,
110
113
  Dodopayments::WebhookPayload::Data::AbandonedCheckout,
111
- Dodopayments::WebhookPayload::Data::DunningAttempt
114
+ Dodopayments::WebhookPayload::Data::DunningAttempt,
115
+ Dodopayments::WebhookPayload::Data::EntitlementGrant
112
116
  )
113
117
  end
114
118
 
@@ -1014,6 +1018,265 @@ module Dodopayments
1014
1018
  end
1015
1019
  end
1016
1020
 
1021
+ class EntitlementGrant < Dodopayments::Internal::Type::BaseModel
1022
+ OrHash =
1023
+ T.type_alias do
1024
+ T.any(
1025
+ Dodopayments::WebhookPayload::Data::EntitlementGrant,
1026
+ Dodopayments::Internal::AnyHash
1027
+ )
1028
+ end
1029
+
1030
+ sig { returns(String) }
1031
+ attr_accessor :id
1032
+
1033
+ sig { returns(String) }
1034
+ attr_accessor :business_id
1035
+
1036
+ sig { returns(Time) }
1037
+ attr_accessor :created_at
1038
+
1039
+ sig { returns(String) }
1040
+ attr_accessor :customer_id
1041
+
1042
+ sig { returns(String) }
1043
+ attr_accessor :entitlement_id
1044
+
1045
+ sig { returns(String) }
1046
+ attr_accessor :external_id
1047
+
1048
+ sig do
1049
+ returns(
1050
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType::OrSymbol
1051
+ )
1052
+ end
1053
+ attr_accessor :payload_type
1054
+
1055
+ sig do
1056
+ returns(
1057
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::OrSymbol
1058
+ )
1059
+ end
1060
+ attr_accessor :status
1061
+
1062
+ sig { returns(Time) }
1063
+ attr_accessor :updated_at
1064
+
1065
+ sig { returns(T.nilable(Time)) }
1066
+ attr_accessor :delivered_at
1067
+
1068
+ sig { returns(T.nilable(String)) }
1069
+ attr_accessor :error_code
1070
+
1071
+ sig { returns(T.nilable(String)) }
1072
+ attr_accessor :error_message
1073
+
1074
+ sig { returns(T.nilable(String)) }
1075
+ attr_accessor :license_key
1076
+
1077
+ sig { returns(T.nilable(Integer)) }
1078
+ attr_accessor :license_key_activations_limit
1079
+
1080
+ sig { returns(T.nilable(Integer)) }
1081
+ attr_accessor :license_key_activations_used
1082
+
1083
+ sig { returns(T.nilable(Time)) }
1084
+ attr_accessor :license_key_expires_at
1085
+
1086
+ sig { returns(T.nilable(String)) }
1087
+ attr_accessor :license_key_status
1088
+
1089
+ sig { returns(T.nilable(T.anything)) }
1090
+ attr_reader :metadata
1091
+
1092
+ sig { params(metadata: T.anything).void }
1093
+ attr_writer :metadata
1094
+
1095
+ sig { returns(T.nilable(Time)) }
1096
+ attr_accessor :oauth_expires_at
1097
+
1098
+ sig { returns(T.nilable(String)) }
1099
+ attr_accessor :oauth_url
1100
+
1101
+ sig { returns(T.nilable(String)) }
1102
+ attr_accessor :payment_id
1103
+
1104
+ sig { returns(T.nilable(String)) }
1105
+ attr_accessor :revocation_reason
1106
+
1107
+ sig { returns(T.nilable(Time)) }
1108
+ attr_accessor :revoked_at
1109
+
1110
+ sig { returns(T.nilable(String)) }
1111
+ attr_accessor :subscription_id
1112
+
1113
+ sig do
1114
+ params(
1115
+ id: String,
1116
+ business_id: String,
1117
+ created_at: Time,
1118
+ customer_id: String,
1119
+ entitlement_id: String,
1120
+ external_id: String,
1121
+ payload_type:
1122
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType::OrSymbol,
1123
+ status:
1124
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::OrSymbol,
1125
+ updated_at: Time,
1126
+ delivered_at: T.nilable(Time),
1127
+ error_code: T.nilable(String),
1128
+ error_message: T.nilable(String),
1129
+ license_key: T.nilable(String),
1130
+ license_key_activations_limit: T.nilable(Integer),
1131
+ license_key_activations_used: T.nilable(Integer),
1132
+ license_key_expires_at: T.nilable(Time),
1133
+ license_key_status: T.nilable(String),
1134
+ metadata: T.anything,
1135
+ oauth_expires_at: T.nilable(Time),
1136
+ oauth_url: T.nilable(String),
1137
+ payment_id: T.nilable(String),
1138
+ revocation_reason: T.nilable(String),
1139
+ revoked_at: T.nilable(Time),
1140
+ subscription_id: T.nilable(String)
1141
+ ).returns(T.attached_class)
1142
+ end
1143
+ def self.new(
1144
+ id:,
1145
+ business_id:,
1146
+ created_at:,
1147
+ customer_id:,
1148
+ entitlement_id:,
1149
+ external_id:,
1150
+ payload_type:,
1151
+ status:,
1152
+ updated_at:,
1153
+ delivered_at: nil,
1154
+ error_code: nil,
1155
+ error_message: nil,
1156
+ license_key: nil,
1157
+ license_key_activations_limit: nil,
1158
+ license_key_activations_used: nil,
1159
+ license_key_expires_at: nil,
1160
+ license_key_status: nil,
1161
+ metadata: nil,
1162
+ oauth_expires_at: nil,
1163
+ oauth_url: nil,
1164
+ payment_id: nil,
1165
+ revocation_reason: nil,
1166
+ revoked_at: nil,
1167
+ subscription_id: nil
1168
+ )
1169
+ end
1170
+
1171
+ sig do
1172
+ override.returns(
1173
+ {
1174
+ id: String,
1175
+ business_id: String,
1176
+ created_at: Time,
1177
+ customer_id: String,
1178
+ entitlement_id: String,
1179
+ external_id: String,
1180
+ payload_type:
1181
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType::OrSymbol,
1182
+ status:
1183
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::OrSymbol,
1184
+ updated_at: Time,
1185
+ delivered_at: T.nilable(Time),
1186
+ error_code: T.nilable(String),
1187
+ error_message: T.nilable(String),
1188
+ license_key: T.nilable(String),
1189
+ license_key_activations_limit: T.nilable(Integer),
1190
+ license_key_activations_used: T.nilable(Integer),
1191
+ license_key_expires_at: T.nilable(Time),
1192
+ license_key_status: T.nilable(String),
1193
+ metadata: T.anything,
1194
+ oauth_expires_at: T.nilable(Time),
1195
+ oauth_url: T.nilable(String),
1196
+ payment_id: T.nilable(String),
1197
+ revocation_reason: T.nilable(String),
1198
+ revoked_at: T.nilable(Time),
1199
+ subscription_id: T.nilable(String)
1200
+ }
1201
+ )
1202
+ end
1203
+ def to_hash
1204
+ end
1205
+
1206
+ module PayloadType
1207
+ extend Dodopayments::Internal::Type::Enum
1208
+
1209
+ TaggedSymbol =
1210
+ T.type_alias do
1211
+ T.all(
1212
+ Symbol,
1213
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType
1214
+ )
1215
+ end
1216
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1217
+
1218
+ ENTITLEMENT_GRANT =
1219
+ T.let(
1220
+ :EntitlementGrant,
1221
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType::TaggedSymbol
1222
+ )
1223
+
1224
+ sig do
1225
+ override.returns(
1226
+ T::Array[
1227
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType::TaggedSymbol
1228
+ ]
1229
+ )
1230
+ end
1231
+ def self.values
1232
+ end
1233
+ end
1234
+
1235
+ module Status
1236
+ extend Dodopayments::Internal::Type::Enum
1237
+
1238
+ TaggedSymbol =
1239
+ T.type_alias do
1240
+ T.all(
1241
+ Symbol,
1242
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::Status
1243
+ )
1244
+ end
1245
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1246
+
1247
+ PENDING =
1248
+ T.let(
1249
+ :Pending,
1250
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::TaggedSymbol
1251
+ )
1252
+ DELIVERED =
1253
+ T.let(
1254
+ :Delivered,
1255
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::TaggedSymbol
1256
+ )
1257
+ FAILED =
1258
+ T.let(
1259
+ :Failed,
1260
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::TaggedSymbol
1261
+ )
1262
+ REVOKED =
1263
+ T.let(
1264
+ :Revoked,
1265
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::TaggedSymbol
1266
+ )
1267
+
1268
+ sig do
1269
+ override.returns(
1270
+ T::Array[
1271
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::TaggedSymbol
1272
+ ]
1273
+ )
1274
+ end
1275
+ def self.values
1276
+ end
1277
+ end
1278
+ end
1279
+
1017
1280
  sig do
1018
1281
  override.returns(
1019
1282
  T::Array[Dodopayments::WebhookPayload::Data::Variants]
@@ -237,6 +237,8 @@ module Dodopayments
237
237
  LicenseKeyCreatedWebhookEvent =
238
238
  Dodopayments::Models::LicenseKeyCreatedWebhookEvent
239
239
 
240
+ LicenseKeyCreateParams = Dodopayments::Models::LicenseKeyCreateParams
241
+
240
242
  LicenseKeyDuration = Dodopayments::Models::LicenseKeyDuration
241
243
 
242
244
  LicenseKeyInstance = Dodopayments::Models::LicenseKeyInstance
@@ -3,6 +3,31 @@
3
3
  module Dodopayments
4
4
  module Resources
5
5
  class LicenseKeys
6
+ sig do
7
+ params(
8
+ customer_id: String,
9
+ key: String,
10
+ product_id: String,
11
+ activations_limit: T.nilable(Integer),
12
+ expires_at: T.nilable(Time),
13
+ request_options: Dodopayments::RequestOptions::OrHash
14
+ ).returns(Dodopayments::LicenseKey)
15
+ end
16
+ def create(
17
+ # The customer this license key belongs to.
18
+ customer_id:,
19
+ # The license key string to import.
20
+ key:,
21
+ # The product this license key is for.
22
+ product_id:,
23
+ # Maximum number of activations allowed. Null means unlimited.
24
+ activations_limit: nil,
25
+ # Expiration timestamp. Null means the key never expires.
26
+ expires_at: nil,
27
+ request_options: {}
28
+ )
29
+ end
30
+
6
31
  sig do
7
32
  params(
8
33
  id: String,
@@ -49,6 +74,7 @@ module Dodopayments
49
74
  page_number: Integer,
50
75
  page_size: Integer,
51
76
  product_id: String,
77
+ source: Dodopayments::LicenseKeyListParams::Source::OrSymbol,
52
78
  status: Dodopayments::LicenseKeyListParams::Status::OrSymbol,
53
79
  request_options: Dodopayments::RequestOptions::OrHash
54
80
  ).returns(
@@ -70,6 +96,8 @@ module Dodopayments
70
96
  page_size: nil,
71
97
  # Filter by product ID
72
98
  product_id: nil,
99
+ # Filter by license key source
100
+ source: nil,
73
101
  # Filter by license key status
74
102
  status: nil,
75
103
  request_options: {}
@@ -28,6 +28,7 @@ module Dodopayments
28
28
  T.nilable(
29
29
  Dodopayments::ProductCreateParams::DigitalProductDelivery::OrHash
30
30
  ),
31
+ entitlement_ids: T.nilable(T::Array[String]),
31
32
  license_key_activation_message: T.nilable(String),
32
33
  license_key_activations_limit: T.nilable(Integer),
33
34
  license_key_duration:
@@ -54,6 +55,8 @@ module Dodopayments
54
55
  description: nil,
55
56
  # Choose how you would like you digital product delivered
56
57
  digital_product_delivery: nil,
58
+ # Optional entitlement IDs to attach to this product (max 20)
59
+ entitlement_ids: nil,
57
60
  # Optional message displayed during license key activation
58
61
  license_key_activation_message: nil,
59
62
  # The number of times the license key can be activated. Must be 0 or greater
@@ -95,6 +98,7 @@ module Dodopayments
95
98
  T.nilable(
96
99
  Dodopayments::ProductUpdateParams::DigitalProductDelivery::OrHash
97
100
  ),
101
+ entitlement_ids: T.nilable(T::Array[String]),
98
102
  image_id: T.nilable(String),
99
103
  license_key_activation_message: T.nilable(String),
100
104
  license_key_activations_limit: T.nilable(Integer),
@@ -127,6 +131,9 @@ module Dodopayments
127
131
  description: nil,
128
132
  # Choose how you would like you digital product delivered
129
133
  digital_product_delivery: nil,
134
+ # Entitlement IDs to attach (replaces all existing when present) Send empty array
135
+ # to remove all, omit field to leave unchanged
136
+ entitlement_ids: nil,
130
137
  # Product image id after its uploaded to S3
131
138
  image_id: nil,
132
139
  # Message sent to the customer upon license key activation.
@@ -8,11 +8,12 @@ module Dodopayments
8
8
  customer_id: String,
9
9
  instances_count: Integer,
10
10
  key: String,
11
- payment_id: String,
12
11
  product_id: String,
12
+ source: Dodopayments::Models::LicenseKey::source,
13
13
  status: Dodopayments::Models::license_key_status,
14
14
  activations_limit: Integer?,
15
15
  expires_at: Time?,
16
+ payment_id: String?,
16
17
  subscription_id: String?
17
18
  }
18
19
 
@@ -29,16 +30,18 @@ module Dodopayments
29
30
 
30
31
  attr_accessor key: String
31
32
 
32
- attr_accessor payment_id: String
33
-
34
33
  attr_accessor product_id: String
35
34
 
35
+ attr_accessor source: Dodopayments::Models::LicenseKey::source
36
+
36
37
  attr_accessor status: Dodopayments::Models::license_key_status
37
38
 
38
39
  attr_accessor activations_limit: Integer?
39
40
 
40
41
  attr_accessor expires_at: Time?
41
42
 
43
+ attr_accessor payment_id: String?
44
+
42
45
  attr_accessor subscription_id: String?
43
46
 
44
47
  def initialize: (
@@ -48,11 +51,12 @@ module Dodopayments
48
51
  customer_id: String,
49
52
  instances_count: Integer,
50
53
  key: String,
51
- payment_id: String,
52
54
  product_id: String,
55
+ source: Dodopayments::Models::LicenseKey::source,
53
56
  status: Dodopayments::Models::license_key_status,
54
57
  ?activations_limit: Integer?,
55
58
  ?expires_at: Time?,
59
+ ?payment_id: String?,
56
60
  ?subscription_id: String?
57
61
  ) -> void
58
62
 
@@ -63,13 +67,25 @@ module Dodopayments
63
67
  customer_id: String,
64
68
  instances_count: Integer,
65
69
  key: String,
66
- payment_id: String,
67
70
  product_id: String,
71
+ source: Dodopayments::Models::LicenseKey::source,
68
72
  status: Dodopayments::Models::license_key_status,
69
73
  activations_limit: Integer?,
70
74
  expires_at: Time?,
75
+ payment_id: String?,
71
76
  subscription_id: String?
72
77
  }
78
+
79
+ type source = :auto | :import
80
+
81
+ module Source
82
+ extend Dodopayments::Internal::Type::Enum
83
+
84
+ AUTO: :auto
85
+ IMPORT: :import
86
+
87
+ def self?.values: -> ::Array[Dodopayments::Models::LicenseKey::source]
88
+ end
73
89
  end
74
90
  end
75
91
  end
@@ -0,0 +1,46 @@
1
+ module Dodopayments
2
+ module Models
3
+ type license_key_create_params =
4
+ {
5
+ customer_id: String,
6
+ key: String,
7
+ product_id: String,
8
+ activations_limit: Integer?,
9
+ expires_at: Time?
10
+ }
11
+ & Dodopayments::Internal::Type::request_parameters
12
+
13
+ class LicenseKeyCreateParams < 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_accessor key: String
20
+
21
+ attr_accessor product_id: String
22
+
23
+ attr_accessor activations_limit: Integer?
24
+
25
+ attr_accessor expires_at: Time?
26
+
27
+ def initialize: (
28
+ customer_id: String,
29
+ key: String,
30
+ product_id: String,
31
+ ?activations_limit: Integer?,
32
+ ?expires_at: Time?,
33
+ ?request_options: Dodopayments::request_opts
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ customer_id: String,
38
+ key: String,
39
+ product_id: String,
40
+ activations_limit: Integer?,
41
+ expires_at: Time?,
42
+ request_options: Dodopayments::RequestOptions
43
+ }
44
+ end
45
+ end
46
+ end
@@ -8,6 +8,7 @@ module Dodopayments
8
8
  page_number: Integer,
9
9
  page_size: Integer,
10
10
  product_id: String,
11
+ source: Dodopayments::Models::LicenseKeyListParams::source,
11
12
  status: Dodopayments::Models::LicenseKeyListParams::status
12
13
  }
13
14
  & Dodopayments::Internal::Type::request_parameters
@@ -40,6 +41,12 @@ module Dodopayments
40
41
 
41
42
  def product_id=: (String) -> String
42
43
 
44
+ attr_reader source: Dodopayments::Models::LicenseKeyListParams::source?
45
+
46
+ def source=: (
47
+ Dodopayments::Models::LicenseKeyListParams::source
48
+ ) -> Dodopayments::Models::LicenseKeyListParams::source
49
+
43
50
  attr_reader status: Dodopayments::Models::LicenseKeyListParams::status?
44
51
 
45
52
  def status=: (
@@ -53,6 +60,7 @@ module Dodopayments
53
60
  ?page_number: Integer,
54
61
  ?page_size: Integer,
55
62
  ?product_id: String,
63
+ ?source: Dodopayments::Models::LicenseKeyListParams::source,
56
64
  ?status: Dodopayments::Models::LicenseKeyListParams::status,
57
65
  ?request_options: Dodopayments::request_opts
58
66
  ) -> void
@@ -64,10 +72,22 @@ module Dodopayments
64
72
  page_number: Integer,
65
73
  page_size: Integer,
66
74
  product_id: String,
75
+ source: Dodopayments::Models::LicenseKeyListParams::source,
67
76
  status: Dodopayments::Models::LicenseKeyListParams::status,
68
77
  request_options: Dodopayments::RequestOptions
69
78
  }
70
79
 
80
+ type source = :auto | :import
81
+
82
+ module Source
83
+ extend Dodopayments::Internal::Type::Enum
84
+
85
+ AUTO: :auto
86
+ IMPORT: :import
87
+
88
+ def self?.values: -> ::Array[Dodopayments::Models::LicenseKeyListParams::source]
89
+ end
90
+
71
91
  type status = :active | :expired | :disabled
72
92
 
73
93
  module Status