stigg 0.1.0.pre.alpha.1

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 (230) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +45 -0
  4. data/README.md +233 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/stigg/client.rb +72 -0
  7. data/lib/stigg/errors.rb +228 -0
  8. data/lib/stigg/file_part.rb +58 -0
  9. data/lib/stigg/internal/my_cursor_id_page.rb +82 -0
  10. data/lib/stigg/internal/transport/base_client.rb +570 -0
  11. data/lib/stigg/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/stigg/internal/type/array_of.rb +168 -0
  13. data/lib/stigg/internal/type/base_model.rb +529 -0
  14. data/lib/stigg/internal/type/base_page.rb +55 -0
  15. data/lib/stigg/internal/type/boolean.rb +77 -0
  16. data/lib/stigg/internal/type/converter.rb +327 -0
  17. data/lib/stigg/internal/type/enum.rb +131 -0
  18. data/lib/stigg/internal/type/file_input.rb +110 -0
  19. data/lib/stigg/internal/type/hash_of.rb +188 -0
  20. data/lib/stigg/internal/type/request_parameters.rb +42 -0
  21. data/lib/stigg/internal/type/union.rb +237 -0
  22. data/lib/stigg/internal/type/unknown.rb +81 -0
  23. data/lib/stigg/internal/util.rb +920 -0
  24. data/lib/stigg/internal.rb +20 -0
  25. data/lib/stigg/models/v1/coupon_create_params.rb +221 -0
  26. data/lib/stigg/models/v1/coupon_create_response.rb +317 -0
  27. data/lib/stigg/models/v1/coupon_list_params.rb +40 -0
  28. data/lib/stigg/models/v1/coupon_list_response.rb +324 -0
  29. data/lib/stigg/models/v1/coupon_retrieve_params.rb +16 -0
  30. data/lib/stigg/models/v1/coupon_retrieve_response.rb +317 -0
  31. data/lib/stigg/models/v1/customer_archive_params.rb +16 -0
  32. data/lib/stigg/models/v1/customer_create_params.rb +185 -0
  33. data/lib/stigg/models/v1/customer_list_params.rb +40 -0
  34. data/lib/stigg/models/v1/customer_list_response.rb +223 -0
  35. data/lib/stigg/models/v1/customer_response.rb +216 -0
  36. data/lib/stigg/models/v1/customer_retrieve_params.rb +16 -0
  37. data/lib/stigg/models/v1/customer_unarchive_params.rb +16 -0
  38. data/lib/stigg/models/v1/customer_update_params.rb +107 -0
  39. data/lib/stigg/models/v1/customers/payment_method_attach_params.rb +197 -0
  40. data/lib/stigg/models/v1/customers/payment_method_detach_params.rb +18 -0
  41. data/lib/stigg/models/v1/customers/promotional_create_params.rb +294 -0
  42. data/lib/stigg/models/v1/customers/promotional_create_response.rb +268 -0
  43. data/lib/stigg/models/v1/customers/promotional_revoke_params.rb +24 -0
  44. data/lib/stigg/models/v1/customers/promotional_revoke_response.rb +268 -0
  45. data/lib/stigg/models/v1/customers/usage_retrieve_params.rb +56 -0
  46. data/lib/stigg/models/v1/customers/usage_retrieve_response.rb +145 -0
  47. data/lib/stigg/models/v1/subscription_create_params.rb +214 -0
  48. data/lib/stigg/models/v1/subscription_create_response.rb +338 -0
  49. data/lib/stigg/models/v1/subscription_delegate_params.rb +24 -0
  50. data/lib/stigg/models/v1/subscription_delegate_response.rb +274 -0
  51. data/lib/stigg/models/v1/subscription_list_params.rb +60 -0
  52. data/lib/stigg/models/v1/subscription_list_response.rb +281 -0
  53. data/lib/stigg/models/v1/subscription_migrate_params.rb +37 -0
  54. data/lib/stigg/models/v1/subscription_migrate_response.rb +274 -0
  55. data/lib/stigg/models/v1/subscription_preview_params.rb +644 -0
  56. data/lib/stigg/models/v1/subscription_preview_response.rb +431 -0
  57. data/lib/stigg/models/v1/subscription_retrieve_params.rb +16 -0
  58. data/lib/stigg/models/v1/subscription_retrieve_response.rb +274 -0
  59. data/lib/stigg/models/v1/subscription_transfer_params.rb +28 -0
  60. data/lib/stigg/models/v1/subscription_transfer_response.rb +274 -0
  61. data/lib/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rb +18 -0
  62. data/lib/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rb +32 -0
  63. data/lib/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rb +18 -0
  64. data/lib/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rb +32 -0
  65. data/lib/stigg/models/v1_create_event_params.rb +87 -0
  66. data/lib/stigg/models/v1_create_event_response.rb +16 -0
  67. data/lib/stigg/models/v1_create_usage_params.rb +96 -0
  68. data/lib/stigg/models/v1_create_usage_response.rb +112 -0
  69. data/lib/stigg/models.rb +47 -0
  70. data/lib/stigg/request_options.rb +77 -0
  71. data/lib/stigg/resources/v1/coupons.rb +95 -0
  72. data/lib/stigg/resources/v1/customers/payment_method.rb +67 -0
  73. data/lib/stigg/resources/v1/customers/promotional.rb +69 -0
  74. data/lib/stigg/resources/v1/customers/usage.rb +59 -0
  75. data/lib/stigg/resources/v1/customers.rb +177 -0
  76. data/lib/stigg/resources/v1/subscriptions/future_update.rb +56 -0
  77. data/lib/stigg/resources/v1/subscriptions.rb +241 -0
  78. data/lib/stigg/resources/v1.rb +70 -0
  79. data/lib/stigg/version.rb +5 -0
  80. data/lib/stigg.rb +108 -0
  81. data/manifest.yaml +17 -0
  82. data/rbi/stigg/client.rbi +49 -0
  83. data/rbi/stigg/errors.rbi +205 -0
  84. data/rbi/stigg/file_part.rbi +37 -0
  85. data/rbi/stigg/internal/my_cursor_id_page.rbi +19 -0
  86. data/rbi/stigg/internal/transport/base_client.rbi +297 -0
  87. data/rbi/stigg/internal/transport/pooled_net_requester.rbi +82 -0
  88. data/rbi/stigg/internal/type/array_of.rbi +104 -0
  89. data/rbi/stigg/internal/type/base_model.rbi +299 -0
  90. data/rbi/stigg/internal/type/base_page.rbi +42 -0
  91. data/rbi/stigg/internal/type/boolean.rbi +58 -0
  92. data/rbi/stigg/internal/type/converter.rbi +204 -0
  93. data/rbi/stigg/internal/type/enum.rbi +82 -0
  94. data/rbi/stigg/internal/type/file_input.rbi +58 -0
  95. data/rbi/stigg/internal/type/hash_of.rbi +104 -0
  96. data/rbi/stigg/internal/type/request_parameters.rbi +29 -0
  97. data/rbi/stigg/internal/type/union.rbi +126 -0
  98. data/rbi/stigg/internal/type/unknown.rbi +58 -0
  99. data/rbi/stigg/internal/util.rbi +478 -0
  100. data/rbi/stigg/internal.rbi +16 -0
  101. data/rbi/stigg/models/v1/coupon_create_params.rbi +758 -0
  102. data/rbi/stigg/models/v1/coupon_create_response.rbi +986 -0
  103. data/rbi/stigg/models/v1/coupon_list_params.rbi +70 -0
  104. data/rbi/stigg/models/v1/coupon_list_response.rbi +983 -0
  105. data/rbi/stigg/models/v1/coupon_retrieve_params.rbi +29 -0
  106. data/rbi/stigg/models/v1/coupon_retrieve_response.rbi +986 -0
  107. data/rbi/stigg/models/v1/customer_archive_params.rbi +29 -0
  108. data/rbi/stigg/models/v1/customer_create_params.rbi +376 -0
  109. data/rbi/stigg/models/v1/customer_list_params.rbi +70 -0
  110. data/rbi/stigg/models/v1/customer_list_response.rbi +447 -0
  111. data/rbi/stigg/models/v1/customer_response.rbi +423 -0
  112. data/rbi/stigg/models/v1/customer_retrieve_params.rbi +29 -0
  113. data/rbi/stigg/models/v1/customer_unarchive_params.rbi +29 -0
  114. data/rbi/stigg/models/v1/customer_update_params.rbi +226 -0
  115. data/rbi/stigg/models/v1/customers/payment_method_attach_params.rbi +769 -0
  116. data/rbi/stigg/models/v1/customers/payment_method_detach_params.rbi +34 -0
  117. data/rbi/stigg/models/v1/customers/promotional_create_params.rbi +639 -0
  118. data/rbi/stigg/models/v1/customers/promotional_create_response.rbi +495 -0
  119. data/rbi/stigg/models/v1/customers/promotional_revoke_params.rbi +42 -0
  120. data/rbi/stigg/models/v1/customers/promotional_revoke_response.rbi +497 -0
  121. data/rbi/stigg/models/v1/customers/usage_retrieve_params.rbi +84 -0
  122. data/rbi/stigg/models/v1/customers/usage_retrieve_response.rbi +353 -0
  123. data/rbi/stigg/models/v1/subscription_create_params.rbi +394 -0
  124. data/rbi/stigg/models/v1/subscription_create_response.rbi +668 -0
  125. data/rbi/stigg/models/v1/subscription_delegate_params.rbi +48 -0
  126. data/rbi/stigg/models/v1/subscription_delegate_response.rbi +535 -0
  127. data/rbi/stigg/models/v1/subscription_list_params.rbi +94 -0
  128. data/rbi/stigg/models/v1/subscription_list_response.rbi +543 -0
  129. data/rbi/stigg/models/v1/subscription_migrate_params.rbi +99 -0
  130. data/rbi/stigg/models/v1/subscription_migrate_response.rbi +535 -0
  131. data/rbi/stigg/models/v1/subscription_preview_params.rbi +1786 -0
  132. data/rbi/stigg/models/v1/subscription_preview_response.rbi +929 -0
  133. data/rbi/stigg/models/v1/subscription_retrieve_params.rbi +32 -0
  134. data/rbi/stigg/models/v1/subscription_retrieve_response.rbi +535 -0
  135. data/rbi/stigg/models/v1/subscription_transfer_params.rbi +50 -0
  136. data/rbi/stigg/models/v1/subscription_transfer_response.rbi +535 -0
  137. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rbi +34 -0
  138. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rbi +79 -0
  139. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rbi +34 -0
  140. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rbi +79 -0
  141. data/rbi/stigg/models/v1_create_event_params.rbi +160 -0
  142. data/rbi/stigg/models/v1_create_event_response.rbi +23 -0
  143. data/rbi/stigg/models/v1_create_usage_params.rbi +177 -0
  144. data/rbi/stigg/models/v1_create_usage_response.rbi +150 -0
  145. data/rbi/stigg/models.rbi +9 -0
  146. data/rbi/stigg/request_options.rbi +55 -0
  147. data/rbi/stigg/resources/v1/coupons.rbi +79 -0
  148. data/rbi/stigg/resources/v1/customers/payment_method.rbi +54 -0
  149. data/rbi/stigg/resources/v1/customers/promotional.rbi +53 -0
  150. data/rbi/stigg/resources/v1/customers/usage.rbi +45 -0
  151. data/rbi/stigg/resources/v1/customers.rbi +138 -0
  152. data/rbi/stigg/resources/v1/subscriptions/future_update.rbi +40 -0
  153. data/rbi/stigg/resources/v1/subscriptions.rbi +199 -0
  154. data/rbi/stigg/resources/v1.rbi +49 -0
  155. data/rbi/stigg/version.rbi +5 -0
  156. data/sig/stigg/client.rbs +26 -0
  157. data/sig/stigg/errors.rbs +117 -0
  158. data/sig/stigg/file_part.rbs +21 -0
  159. data/sig/stigg/internal/my_cursor_id_page.rbs +11 -0
  160. data/sig/stigg/internal/transport/base_client.rbs +133 -0
  161. data/sig/stigg/internal/transport/pooled_net_requester.rbs +48 -0
  162. data/sig/stigg/internal/type/array_of.rbs +48 -0
  163. data/sig/stigg/internal/type/base_model.rbs +102 -0
  164. data/sig/stigg/internal/type/base_page.rbs +24 -0
  165. data/sig/stigg/internal/type/boolean.rbs +26 -0
  166. data/sig/stigg/internal/type/converter.rbs +79 -0
  167. data/sig/stigg/internal/type/enum.rbs +32 -0
  168. data/sig/stigg/internal/type/file_input.rbs +25 -0
  169. data/sig/stigg/internal/type/hash_of.rbs +48 -0
  170. data/sig/stigg/internal/type/request_parameters.rbs +17 -0
  171. data/sig/stigg/internal/type/union.rbs +52 -0
  172. data/sig/stigg/internal/type/unknown.rbs +26 -0
  173. data/sig/stigg/internal/util.rbs +185 -0
  174. data/sig/stigg/internal.rbs +9 -0
  175. data/sig/stigg/models/v1/coupon_create_params.rbs +323 -0
  176. data/sig/stigg/models/v1/coupon_create_response.rbs +392 -0
  177. data/sig/stigg/models/v1/coupon_list_params.rbs +40 -0
  178. data/sig/stigg/models/v1/coupon_list_response.rbs +399 -0
  179. data/sig/stigg/models/v1/coupon_retrieve_params.rbs +17 -0
  180. data/sig/stigg/models/v1/coupon_retrieve_response.rbs +394 -0
  181. data/sig/stigg/models/v1/customer_archive_params.rbs +17 -0
  182. data/sig/stigg/models/v1/customer_create_params.rbs +169 -0
  183. data/sig/stigg/models/v1/customer_list_params.rbs +40 -0
  184. data/sig/stigg/models/v1/customer_list_response.rbs +198 -0
  185. data/sig/stigg/models/v1/customer_response.rbs +188 -0
  186. data/sig/stigg/models/v1/customer_retrieve_params.rbs +17 -0
  187. data/sig/stigg/models/v1/customer_unarchive_params.rbs +17 -0
  188. data/sig/stigg/models/v1/customer_update_params.rbs +110 -0
  189. data/sig/stigg/models/v1/customers/payment_method_attach_params.rbs +315 -0
  190. data/sig/stigg/models/v1/customers/payment_method_detach_params.rbs +19 -0
  191. data/sig/stigg/models/v1/customers/promotional_create_params.rbs +234 -0
  192. data/sig/stigg/models/v1/customers/promotional_create_response.rbs +209 -0
  193. data/sig/stigg/models/v1/customers/promotional_revoke_params.rbs +27 -0
  194. data/sig/stigg/models/v1/customers/promotional_revoke_response.rbs +209 -0
  195. data/sig/stigg/models/v1/customers/usage_retrieve_params.rbs +54 -0
  196. data/sig/stigg/models/v1/customers/usage_retrieve_response.rbs +134 -0
  197. data/sig/stigg/models/v1/subscription_create_params.rbs +199 -0
  198. data/sig/stigg/models/v1/subscription_create_response.rbs +283 -0
  199. data/sig/stigg/models/v1/subscription_delegate_params.rbs +26 -0
  200. data/sig/stigg/models/v1/subscription_delegate_response.rbs +224 -0
  201. data/sig/stigg/models/v1/subscription_list_params.rbs +58 -0
  202. data/sig/stigg/models/v1/subscription_list_response.rbs +229 -0
  203. data/sig/stigg/models/v1/subscription_migrate_params.rbs +43 -0
  204. data/sig/stigg/models/v1/subscription_migrate_response.rbs +224 -0
  205. data/sig/stigg/models/v1/subscription_preview_params.rbs +821 -0
  206. data/sig/stigg/models/v1/subscription_preview_response.rbs +466 -0
  207. data/sig/stigg/models/v1/subscription_retrieve_params.rbs +17 -0
  208. data/sig/stigg/models/v1/subscription_retrieve_response.rbs +224 -0
  209. data/sig/stigg/models/v1/subscription_transfer_params.rbs +26 -0
  210. data/sig/stigg/models/v1/subscription_transfer_response.rbs +224 -0
  211. data/sig/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rbs +19 -0
  212. data/sig/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rbs +34 -0
  213. data/sig/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rbs +19 -0
  214. data/sig/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rbs +34 -0
  215. data/sig/stigg/models/v1_create_event_params.rbs +80 -0
  216. data/sig/stigg/models/v1_create_event_response.rbs +13 -0
  217. data/sig/stigg/models/v1_create_usage_params.rbs +90 -0
  218. data/sig/stigg/models/v1_create_usage_response.rbs +85 -0
  219. data/sig/stigg/models.rbs +7 -0
  220. data/sig/stigg/request_options.rbs +34 -0
  221. data/sig/stigg/resources/v1/coupons.rbs +32 -0
  222. data/sig/stigg/resources/v1/customers/payment_method.rbs +25 -0
  223. data/sig/stigg/resources/v1/customers/promotional.rbs +23 -0
  224. data/sig/stigg/resources/v1/customers/usage.rbs +21 -0
  225. data/sig/stigg/resources/v1/customers.rbs +58 -0
  226. data/sig/stigg/resources/v1/subscriptions/future_update.rbs +21 -0
  227. data/sig/stigg/resources/v1/subscriptions.rbs +76 -0
  228. data/sig/stigg/resources/v1.rbs +23 -0
  229. data/sig/stigg/version.rbs +3 -0
  230. metadata +301 -0
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Resources
5
+ class V1
6
+ class Coupons
7
+ # Create a new Coupon
8
+ sig do
9
+ params(
10
+ id: String,
11
+ amounts_off:
12
+ T.nilable(
13
+ T::Array[Stigg::V1::CouponCreateParams::AmountsOff::OrHash]
14
+ ),
15
+ description: T.nilable(String),
16
+ duration_in_months: T.nilable(Integer),
17
+ name: String,
18
+ percent_off: T.nilable(Float),
19
+ additional_meta_data: T.anything,
20
+ request_options: Stigg::RequestOptions::OrHash
21
+ ).returns(Stigg::Models::V1::CouponCreateResponse)
22
+ end
23
+ def create(
24
+ # The unique identifier for the entity
25
+ id:,
26
+ # Fixed amount discounts in different currencies
27
+ amounts_off:,
28
+ # Description of the coupon
29
+ description:,
30
+ # Duration of the coupon validity in months
31
+ duration_in_months:,
32
+ # Name of the coupon
33
+ name:,
34
+ # Percentage discount off the original price
35
+ percent_off:,
36
+ # Metadata associated with the entity
37
+ additional_meta_data: nil,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ # Get a single Coupon by id
43
+ sig do
44
+ params(
45
+ id: String,
46
+ request_options: Stigg::RequestOptions::OrHash
47
+ ).returns(Stigg::Models::V1::CouponRetrieveResponse)
48
+ end
49
+ def retrieve(id, request_options: {})
50
+ end
51
+
52
+ # Get a list of Coupons
53
+ sig do
54
+ params(
55
+ ending_before: String,
56
+ limit: Integer,
57
+ starting_after: String,
58
+ request_options: Stigg::RequestOptions::OrHash
59
+ ).returns(Stigg::Models::V1::CouponListResponse)
60
+ end
61
+ def list(
62
+ # Ending before this UUID for pagination
63
+ ending_before: nil,
64
+ # Items per page
65
+ limit: nil,
66
+ # Starting after this UUID for pagination
67
+ starting_after: nil,
68
+ request_options: {}
69
+ )
70
+ end
71
+
72
+ # @api private
73
+ sig { params(client: Stigg::Client).returns(T.attached_class) }
74
+ def self.new(client:)
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Resources
5
+ class V1
6
+ class Customers
7
+ class PaymentMethod
8
+ # Perform payment-method attachment on a Customer
9
+ sig do
10
+ params(
11
+ id: String,
12
+ integration_id: String,
13
+ payment_method_id: String,
14
+ vendor_identifier:
15
+ Stigg::V1::Customers::PaymentMethodAttachParams::VendorIdentifier::OrSymbol,
16
+ billing_currency:
17
+ T.nilable(
18
+ Stigg::V1::Customers::PaymentMethodAttachParams::BillingCurrency::OrSymbol
19
+ ),
20
+ request_options: Stigg::RequestOptions::OrHash
21
+ ).returns(Stigg::V1::CustomerResponse)
22
+ end
23
+ def attach(
24
+ id,
25
+ # Integration details
26
+ integration_id:,
27
+ # Billing provider payment method id
28
+ payment_method_id:,
29
+ # The vendor identifier of integration
30
+ vendor_identifier:,
31
+ billing_currency: nil,
32
+ request_options: {}
33
+ )
34
+ end
35
+
36
+ # Perform payment-method detachment on a Customer
37
+ sig do
38
+ params(
39
+ id: String,
40
+ request_options: Stigg::RequestOptions::OrHash
41
+ ).returns(Stigg::V1::CustomerResponse)
42
+ end
43
+ def detach(id, request_options: {})
44
+ end
45
+
46
+ # @api private
47
+ sig { params(client: Stigg::Client).returns(T.attached_class) }
48
+ def self.new(client:)
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,53 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Resources
5
+ class V1
6
+ class Customers
7
+ class Promotional
8
+ # Create a new Promotional Entitlements
9
+ sig do
10
+ params(
11
+ customer_id: String,
12
+ promotional_entitlements:
13
+ T::Array[
14
+ Stigg::V1::Customers::PromotionalCreateParams::PromotionalEntitlement::OrHash
15
+ ],
16
+ request_options: Stigg::RequestOptions::OrHash
17
+ ).returns(Stigg::Models::V1::Customers::PromotionalCreateResponse)
18
+ end
19
+ def create(
20
+ # The unique identifier of the entitlement customer
21
+ customer_id,
22
+ # Promotional entitlements to grant
23
+ promotional_entitlements:,
24
+ request_options: {}
25
+ )
26
+ end
27
+
28
+ # Perform revocation on a Promotional Entitlement
29
+ sig do
30
+ params(
31
+ feature_id: String,
32
+ customer_id: String,
33
+ request_options: Stigg::RequestOptions::OrHash
34
+ ).returns(Stigg::Models::V1::Customers::PromotionalRevokeResponse)
35
+ end
36
+ def revoke(
37
+ # The unique identifier of the entitlement feature
38
+ feature_id,
39
+ # The unique identifier of the entitlement customer
40
+ customer_id:,
41
+ request_options: {}
42
+ )
43
+ end
44
+
45
+ # @api private
46
+ sig { params(client: Stigg::Client).returns(T.attached_class) }
47
+ def self.new(client:)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,45 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Resources
5
+ class V1
6
+ class Customers
7
+ class Usage
8
+ # Perform retrieval on a Usage history
9
+ sig do
10
+ params(
11
+ feature_id: String,
12
+ customer_id: String,
13
+ start_date: Time,
14
+ end_date: Time,
15
+ group_by: String,
16
+ resource_id: T.nilable(String),
17
+ request_options: Stigg::RequestOptions::OrHash
18
+ ).returns(Stigg::Models::V1::Customers::UsageRetrieveResponse)
19
+ end
20
+ def retrieve(
21
+ # Path param: Feature id
22
+ feature_id,
23
+ # Path param: Customer id
24
+ customer_id:,
25
+ # Query param: The start date of the range
26
+ start_date:,
27
+ # Query param: The end date of the range
28
+ end_date: nil,
29
+ # Query param
30
+ group_by: nil,
31
+ # Query param: Resource id
32
+ resource_id: nil,
33
+ request_options: {}
34
+ )
35
+ end
36
+
37
+ # @api private
38
+ sig { params(client: Stigg::Client).returns(T.attached_class) }
39
+ def self.new(client:)
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,138 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Resources
5
+ class V1
6
+ class Customers
7
+ sig { returns(Stigg::Resources::V1::Customers::PaymentMethod) }
8
+ attr_reader :payment_method
9
+
10
+ sig { returns(Stigg::Resources::V1::Customers::Usage) }
11
+ attr_reader :usage
12
+
13
+ sig { returns(Stigg::Resources::V1::Customers::Promotional) }
14
+ attr_reader :promotional
15
+
16
+ # Create a new Customer
17
+ sig do
18
+ params(
19
+ id: String,
20
+ coupon_id: T.nilable(String),
21
+ default_payment_method:
22
+ T.nilable(
23
+ Stigg::V1::CustomerCreateParams::DefaultPaymentMethod::OrHash
24
+ ),
25
+ email: T.nilable(String),
26
+ integrations:
27
+ T::Array[Stigg::V1::CustomerCreateParams::Integration::OrHash],
28
+ metadata: T::Hash[Symbol, String],
29
+ name: T.nilable(String),
30
+ request_options: Stigg::RequestOptions::OrHash
31
+ ).returns(Stigg::V1::CustomerResponse)
32
+ end
33
+ def create(
34
+ # Customer slug
35
+ id:,
36
+ # Customer level coupon
37
+ coupon_id: nil,
38
+ # The default payment method details
39
+ default_payment_method: nil,
40
+ # The email of the customer
41
+ email: nil,
42
+ # List of integrations
43
+ integrations: nil,
44
+ # Additional metadata
45
+ metadata: nil,
46
+ # The name of the customer
47
+ name: nil,
48
+ request_options: {}
49
+ )
50
+ end
51
+
52
+ # Get a single Customer by id
53
+ sig do
54
+ params(
55
+ id: String,
56
+ request_options: Stigg::RequestOptions::OrHash
57
+ ).returns(Stigg::V1::CustomerResponse)
58
+ end
59
+ def retrieve(id, request_options: {})
60
+ end
61
+
62
+ # Update an existing Customer
63
+ sig do
64
+ params(
65
+ id: String,
66
+ coupon_id: T.nilable(String),
67
+ email: T.nilable(String),
68
+ integrations:
69
+ T::Array[Stigg::V1::CustomerUpdateParams::Integration::OrHash],
70
+ metadata: T::Hash[Symbol, String],
71
+ name: T.nilable(String),
72
+ request_options: Stigg::RequestOptions::OrHash
73
+ ).returns(Stigg::V1::CustomerResponse)
74
+ end
75
+ def update(
76
+ id,
77
+ # Customer level coupon
78
+ coupon_id: nil,
79
+ # The email of the customer
80
+ email: nil,
81
+ # List of integrations
82
+ integrations: nil,
83
+ # Additional metadata
84
+ metadata: nil,
85
+ # The name of the customer
86
+ name: nil,
87
+ request_options: {}
88
+ )
89
+ end
90
+
91
+ # Get a list of Customers
92
+ sig do
93
+ params(
94
+ ending_before: String,
95
+ limit: Integer,
96
+ starting_after: String,
97
+ request_options: Stigg::RequestOptions::OrHash
98
+ ).returns(Stigg::Models::V1::CustomerListResponse)
99
+ end
100
+ def list(
101
+ # Ending before this UUID for pagination
102
+ ending_before: nil,
103
+ # Items per page
104
+ limit: nil,
105
+ # Starting after this UUID for pagination
106
+ starting_after: nil,
107
+ request_options: {}
108
+ )
109
+ end
110
+
111
+ # Perform archive on a Customer
112
+ sig do
113
+ params(
114
+ id: String,
115
+ request_options: Stigg::RequestOptions::OrHash
116
+ ).returns(Stigg::V1::CustomerResponse)
117
+ end
118
+ def archive(id, request_options: {})
119
+ end
120
+
121
+ # Perform unarchive on a Customer
122
+ sig do
123
+ params(
124
+ id: String,
125
+ request_options: Stigg::RequestOptions::OrHash
126
+ ).returns(Stigg::V1::CustomerResponse)
127
+ end
128
+ def unarchive(id, request_options: {})
129
+ end
130
+
131
+ # @api private
132
+ sig { params(client: Stigg::Client).returns(T.attached_class) }
133
+ def self.new(client:)
134
+ end
135
+ end
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Resources
5
+ class V1
6
+ class Subscriptions
7
+ class FutureUpdate
8
+ # Perform cancel future update on a Subscription
9
+ sig do
10
+ params(
11
+ id: String,
12
+ request_options: Stigg::RequestOptions::OrHash
13
+ ).returns(
14
+ Stigg::Models::V1::Subscriptions::FutureUpdateCancelPendingPaymentResponse
15
+ )
16
+ end
17
+ def cancel_pending_payment(id, request_options: {})
18
+ end
19
+
20
+ # Perform cancel future update on a Subscription
21
+ sig do
22
+ params(
23
+ id: String,
24
+ request_options: Stigg::RequestOptions::OrHash
25
+ ).returns(
26
+ Stigg::Models::V1::Subscriptions::FutureUpdateCancelScheduleResponse
27
+ )
28
+ end
29
+ def cancel_schedule(id, request_options: {})
30
+ end
31
+
32
+ # @api private
33
+ sig { params(client: Stigg::Client).returns(T.attached_class) }
34
+ def self.new(client:)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,199 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Resources
5
+ class V1
6
+ class Subscriptions
7
+ sig { returns(Stigg::Resources::V1::Subscriptions::FutureUpdate) }
8
+ attr_reader :future_update
9
+
10
+ # Create a new Subscription
11
+ sig do
12
+ params(
13
+ customer_id: String,
14
+ plan_id: String,
15
+ id: T.nilable(String),
16
+ await_payment_confirmation: T::Boolean,
17
+ billing_period:
18
+ Stigg::V1::SubscriptionCreateParams::BillingPeriod::OrSymbol,
19
+ checkout_options:
20
+ Stigg::V1::SubscriptionCreateParams::CheckoutOptions::OrHash,
21
+ metadata: T::Hash[Symbol, String],
22
+ paying_customer_id: T.nilable(String),
23
+ resource_id: T.nilable(String),
24
+ trial_override_configuration:
25
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::OrHash,
26
+ request_options: Stigg::RequestOptions::OrHash
27
+ ).returns(Stigg::Models::V1::SubscriptionCreateResponse)
28
+ end
29
+ def create(
30
+ # Customer ID to provision the subscription for
31
+ customer_id:,
32
+ # Plan ID to provision
33
+ plan_id:,
34
+ # Unique identifier for the subscription
35
+ id: nil,
36
+ # Whether to wait for payment confirmation before returning the subscription
37
+ await_payment_confirmation: nil,
38
+ billing_period: nil,
39
+ checkout_options: nil,
40
+ # Additional metadata for the subscription
41
+ metadata: nil,
42
+ # Optional paying customer ID for split billing scenarios
43
+ paying_customer_id: nil,
44
+ # Optional resource ID for multi-instance subscriptions
45
+ resource_id: nil,
46
+ trial_override_configuration: nil,
47
+ request_options: {}
48
+ )
49
+ end
50
+
51
+ # Get a single Subscription by id
52
+ sig do
53
+ params(
54
+ id: String,
55
+ request_options: Stigg::RequestOptions::OrHash
56
+ ).returns(Stigg::Models::V1::SubscriptionRetrieveResponse)
57
+ end
58
+ def retrieve(id, request_options: {})
59
+ end
60
+
61
+ # Get a list of Subscriptions
62
+ sig do
63
+ params(
64
+ customer_id: String,
65
+ ending_before: String,
66
+ limit: Integer,
67
+ starting_after: String,
68
+ status: String,
69
+ request_options: Stigg::RequestOptions::OrHash
70
+ ).returns(Stigg::Models::V1::SubscriptionListResponse)
71
+ end
72
+ def list(
73
+ # Filter by customer ID
74
+ customer_id: nil,
75
+ # Ending before this UUID for pagination
76
+ ending_before: nil,
77
+ # Items per page
78
+ limit: nil,
79
+ # Starting after this UUID for pagination
80
+ starting_after: nil,
81
+ # Filter by subscription status (comma-separated for multiple statuses, e.g.,
82
+ # ACTIVE,IN_TRIAL)
83
+ status: nil,
84
+ request_options: {}
85
+ )
86
+ end
87
+
88
+ # Perform delegate on a Subscription
89
+ sig do
90
+ params(
91
+ id: String,
92
+ target_customer_id: String,
93
+ request_options: Stigg::RequestOptions::OrHash
94
+ ).returns(Stigg::Models::V1::SubscriptionDelegateResponse)
95
+ end
96
+ def delegate(
97
+ id,
98
+ # The customer ID to delegate the subscription to
99
+ target_customer_id:,
100
+ request_options: {}
101
+ )
102
+ end
103
+
104
+ # Perform migrate to latest plan version on a Subscription
105
+ sig do
106
+ params(
107
+ id: String,
108
+ subscription_migration_time:
109
+ Stigg::V1::SubscriptionMigrateParams::SubscriptionMigrationTime::OrSymbol,
110
+ request_options: Stigg::RequestOptions::OrHash
111
+ ).returns(Stigg::Models::V1::SubscriptionMigrateResponse)
112
+ end
113
+ def migrate(
114
+ id,
115
+ # When to migrate the subscription: IMMEDIATE or END_OF_BILLING_PERIOD
116
+ subscription_migration_time: nil,
117
+ request_options: {}
118
+ )
119
+ end
120
+
121
+ # Create a new Subscription Preview
122
+ sig do
123
+ params(
124
+ customer_id: String,
125
+ plan_id: String,
126
+ addons:
127
+ T::Array[Stigg::V1::SubscriptionPreviewParams::Addon::OrHash],
128
+ applied_coupon:
129
+ Stigg::V1::SubscriptionPreviewParams::AppliedCoupon::OrHash,
130
+ billable_features:
131
+ T::Array[
132
+ Stigg::V1::SubscriptionPreviewParams::BillableFeature::OrHash
133
+ ],
134
+ billing_country_code: String,
135
+ billing_information:
136
+ Stigg::V1::SubscriptionPreviewParams::BillingInformation::OrHash,
137
+ billing_period:
138
+ Stigg::V1::SubscriptionPreviewParams::BillingPeriod::OrSymbol,
139
+ charges:
140
+ T::Array[Stigg::V1::SubscriptionPreviewParams::Charge::OrHash],
141
+ paying_customer_id: String,
142
+ resource_id: String,
143
+ schedule_strategy:
144
+ Stigg::V1::SubscriptionPreviewParams::ScheduleStrategy::OrSymbol,
145
+ start_date: Time,
146
+ trial_override_configuration:
147
+ Stigg::V1::SubscriptionPreviewParams::TrialOverrideConfiguration::OrHash,
148
+ unit_quantity: Float,
149
+ request_options: Stigg::RequestOptions::OrHash
150
+ ).returns(Stigg::Models::V1::SubscriptionPreviewResponse)
151
+ end
152
+ def preview(
153
+ # Customer ID
154
+ customer_id:,
155
+ # Plan ID
156
+ plan_id:,
157
+ addons: nil,
158
+ applied_coupon: nil,
159
+ billable_features: nil,
160
+ billing_country_code: nil,
161
+ billing_information: nil,
162
+ billing_period: nil,
163
+ charges: nil,
164
+ paying_customer_id: nil,
165
+ resource_id: nil,
166
+ schedule_strategy: nil,
167
+ # Subscription start date
168
+ start_date: nil,
169
+ trial_override_configuration: nil,
170
+ unit_quantity: nil,
171
+ request_options: {}
172
+ )
173
+ end
174
+
175
+ # Perform transfer to resource on a Subscription
176
+ sig do
177
+ params(
178
+ id: String,
179
+ destination_resource_id: String,
180
+ request_options: Stigg::RequestOptions::OrHash
181
+ ).returns(Stigg::Models::V1::SubscriptionTransferResponse)
182
+ end
183
+ def transfer(
184
+ id,
185
+ # The resource ID to transfer the subscription to. The destination resource must
186
+ # belong to the same customer.
187
+ destination_resource_id:,
188
+ request_options: {}
189
+ )
190
+ end
191
+
192
+ # @api private
193
+ sig { params(client: Stigg::Client).returns(T.attached_class) }
194
+ def self.new(client:)
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end
@@ -0,0 +1,49 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Resources
5
+ class V1
6
+ sig { returns(Stigg::Resources::V1::Customers) }
7
+ attr_reader :customers
8
+
9
+ sig { returns(Stigg::Resources::V1::Subscriptions) }
10
+ attr_reader :subscriptions
11
+
12
+ sig { returns(Stigg::Resources::V1::Coupons) }
13
+ attr_reader :coupons
14
+
15
+ # Create events
16
+ sig do
17
+ params(
18
+ events: T::Array[Stigg::V1CreateEventParams::Event::OrHash],
19
+ request_options: Stigg::RequestOptions::OrHash
20
+ ).returns(Stigg::Models::V1CreateEventResponse)
21
+ end
22
+ def create_event(
23
+ # A list of usage events to report
24
+ events:,
25
+ request_options: {}
26
+ )
27
+ end
28
+
29
+ # Create a new Usage
30
+ sig do
31
+ params(
32
+ usages: T::Array[Stigg::V1CreateUsageParams::Usage::OrHash],
33
+ request_options: Stigg::RequestOptions::OrHash
34
+ ).returns(Stigg::Models::V1CreateUsageResponse)
35
+ end
36
+ def create_usage(
37
+ # A list of usage reports to be submitted in bulk
38
+ usages:,
39
+ request_options: {}
40
+ )
41
+ end
42
+
43
+ # @api private
44
+ sig { params(client: Stigg::Client).returns(T.attached_class) }
45
+ def self.new(client:)
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,5 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ VERSION = T.let(T.unsafe(nil), String)
5
+ end
@@ -0,0 +1,26 @@
1
+ module Stigg
2
+ class Client < Stigg::Internal::Transport::BaseClient
3
+ DEFAULT_MAX_RETRIES: 2
4
+
5
+ DEFAULT_TIMEOUT_IN_SECONDS: Float
6
+
7
+ DEFAULT_INITIAL_RETRY_DELAY: Float
8
+
9
+ DEFAULT_MAX_RETRY_DELAY: Float
10
+
11
+ attr_reader api_key: String
12
+
13
+ attr_reader v1: Stigg::Resources::V1
14
+
15
+ private def auth_headers: -> ::Hash[String, String]
16
+
17
+ def initialize: (
18
+ ?api_key: String?,
19
+ ?base_url: String?,
20
+ ?max_retries: Integer,
21
+ ?timeout: Float,
22
+ ?initial_retry_delay: Float,
23
+ ?max_retry_delay: Float
24
+ ) -> void
25
+ end
26
+ end