stigg 0.1.0.pre.alpha.1 → 0.1.0.pre.alpha.3

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 (190) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +29 -1
  4. data/lib/stigg/internal/my_cursor_id_page.rb +32 -4
  5. data/lib/stigg/internal/type/base_model.rb +2 -2
  6. data/lib/stigg/models/v1/{coupon_create_response.rb → coupon.rb} +31 -26
  7. data/lib/stigg/models/v1/coupon_create_params.rb +2 -0
  8. data/lib/stigg/models/v1/coupon_list_params.rb +14 -14
  9. data/lib/stigg/models/v1/coupon_list_response.rb +262 -278
  10. data/lib/stigg/models/v1/customer_import_params.rb +75 -0
  11. data/lib/stigg/models/v1/customer_import_response.rb +35 -0
  12. data/lib/stigg/models/v1/customer_list_params.rb +14 -14
  13. data/lib/stigg/models/v1/customer_list_response.rb +160 -174
  14. data/lib/stigg/models/v1/{customer_create_params.rb → customer_provision_params.rb} +18 -16
  15. data/lib/stigg/models/v1/customer_response.rb +9 -2
  16. data/lib/stigg/models/v1/customer_update_params.rb +2 -0
  17. data/lib/stigg/models/v1/customers/payment_method_attach_params.rb +3 -1
  18. data/lib/stigg/models/v1/customers/{promotional_create_params.rb → promotional_entitlement_grant_params.rb} +46 -44
  19. data/lib/stigg/models/v1/customers/{promotional_create_response.rb → promotional_entitlement_grant_response.rb} +105 -32
  20. data/lib/stigg/models/v1/customers/{promotional_revoke_params.rb → promotional_entitlement_revoke_params.rb} +2 -2
  21. data/lib/stigg/models/v1/customers/{promotional_revoke_response.rb → promotional_entitlement_revoke_response.rb} +107 -33
  22. data/lib/stigg/models/v1/event_report_params.rb +91 -0
  23. data/lib/stigg/models/v1/event_report_response.rb +25 -0
  24. data/lib/stigg/models/v1/{subscription_retrieve_response.rb → subscription.rb} +67 -26
  25. data/lib/stigg/models/v1/subscription_cancel_params.rb +75 -0
  26. data/lib/stigg/models/v1/subscription_delegate_params.rb +7 -2
  27. data/lib/stigg/models/v1/subscription_import_params.rb +92 -0
  28. data/lib/stigg/models/v1/subscription_import_response.rb +32 -0
  29. data/lib/stigg/models/v1/subscription_list_params.rb +20 -24
  30. data/lib/stigg/models/v1/subscription_list_response.rb +255 -236
  31. data/lib/stigg/models/v1/subscription_migrate_params.rb +3 -3
  32. data/lib/stigg/models/v1/subscription_preview_params.rb +139 -46
  33. data/lib/stigg/models/v1/subscription_preview_response.rb +164 -49
  34. data/lib/stigg/models/v1/subscription_provision_params.rb +1693 -0
  35. data/lib/stigg/models/v1/subscription_provision_response.rb +1038 -0
  36. data/lib/stigg/models/v1/subscription_transfer_params.rb +2 -6
  37. data/lib/stigg/models/v1/subscription_update_params.rb +1114 -0
  38. data/lib/stigg/models/v1/subscriptions/{future_update_cancel_pending_payment_response.rb → cancel_subscription.rb} +9 -5
  39. data/lib/stigg/models/v1/usage_history_params.rb +54 -0
  40. data/lib/stigg/models/v1/usage_history_response.rb +155 -0
  41. data/lib/stigg/models/v1/usage_report_params.rb +114 -0
  42. data/lib/stigg/models/v1/usage_report_response.rb +120 -0
  43. data/lib/stigg/models.rb +0 -4
  44. data/lib/stigg/resources/v1/coupons.rb +16 -14
  45. data/lib/stigg/resources/v1/customers/payment_method.rb +6 -5
  46. data/lib/stigg/resources/v1/customers/{promotional.rb → promotional_entitlements.rb} +17 -17
  47. data/lib/stigg/resources/v1/customers.rb +78 -56
  48. data/lib/stigg/resources/v1/events.rb +38 -0
  49. data/lib/stigg/resources/v1/subscriptions/future_update.rb +10 -8
  50. data/lib/stigg/resources/v1/subscriptions.rb +206 -79
  51. data/lib/stigg/resources/v1/usage.rb +79 -0
  52. data/lib/stigg/resources/v1.rb +6 -42
  53. data/lib/stigg/version.rb +1 -1
  54. data/lib/stigg.rb +25 -23
  55. data/rbi/stigg/internal/my_cursor_id_page.rbi +27 -0
  56. data/rbi/stigg/models/v1/coupon.rbi +891 -0
  57. data/rbi/stigg/models/v1/coupon_create_params.rbi +1 -0
  58. data/rbi/stigg/models/v1/coupon_list_params.rbi +21 -21
  59. data/rbi/stigg/models/v1/coupon_list_response.rbi +812 -869
  60. data/rbi/stigg/models/v1/customer_import_params.rbi +130 -0
  61. data/rbi/stigg/models/v1/customer_import_response.rbi +76 -0
  62. data/rbi/stigg/models/v1/customer_list_params.rbi +21 -21
  63. data/rbi/stigg/models/v1/customer_list_response.rbi +307 -347
  64. data/rbi/stigg/models/v1/{customer_create_params.rbi → customer_provision_params.rbi} +36 -35
  65. data/rbi/stigg/models/v1/customer_response.rbi +8 -1
  66. data/rbi/stigg/models/v1/customer_update_params.rbi +1 -0
  67. data/rbi/stigg/models/v1/customers/payment_method_attach_params.rbi +3 -0
  68. data/rbi/stigg/models/v1/customers/{promotional_create_params.rbi → promotional_entitlement_grant_params.rbi} +78 -77
  69. data/rbi/stigg/models/v1/customers/promotional_entitlement_grant_response.rbi +690 -0
  70. data/rbi/stigg/models/v1/customers/{promotional_revoke_params.rbi → promotional_entitlement_revoke_params.rbi} +2 -2
  71. data/rbi/stigg/models/v1/customers/promotional_entitlement_revoke_response.rbi +696 -0
  72. data/rbi/stigg/models/v1/event_report_params.rbi +168 -0
  73. data/rbi/stigg/models/v1/event_report_response.rbi +35 -0
  74. data/rbi/stigg/models/v1/{subscription_migrate_response.rbi → subscription.rbi} +130 -98
  75. data/rbi/stigg/models/v1/subscription_cancel_params.rbi +182 -0
  76. data/rbi/stigg/models/v1/subscription_delegate_params.rbi +6 -2
  77. data/rbi/stigg/models/v1/subscription_import_params.rbi +148 -0
  78. data/rbi/stigg/models/v1/subscription_import_response.rbi +69 -0
  79. data/rbi/stigg/models/v1/subscription_list_params.rbi +26 -28
  80. data/rbi/stigg/models/v1/subscription_list_response.rbi +460 -435
  81. data/rbi/stigg/models/v1/subscription_migrate_params.rbi +3 -3
  82. data/rbi/stigg/models/v1/subscription_preview_params.rbi +112 -14
  83. data/rbi/stigg/models/v1/subscription_preview_response.rbi +139 -6
  84. data/rbi/stigg/models/v1/subscription_provision_params.rbi +5306 -0
  85. data/rbi/stigg/models/v1/subscription_provision_response.rbi +3175 -0
  86. data/rbi/stigg/models/v1/subscription_transfer_params.rbi +2 -4
  87. data/rbi/stigg/models/v1/subscription_update_params.rbi +3578 -0
  88. data/rbi/stigg/models/v1/subscriptions/{future_update_cancel_schedule_response.rbi → cancel_subscription.rbi} +10 -16
  89. data/rbi/stigg/models/v1/usage_history_params.rbi +79 -0
  90. data/rbi/stigg/models/v1/usage_history_response.rbi +347 -0
  91. data/rbi/stigg/models/v1/usage_report_params.rbi +227 -0
  92. data/rbi/stigg/models/v1/usage_report_response.rbi +162 -0
  93. data/rbi/stigg/models.rbi +0 -4
  94. data/rbi/stigg/resources/v1/coupons.rbi +22 -14
  95. data/rbi/stigg/resources/v1/customers/payment_method.rbi +9 -3
  96. data/rbi/stigg/resources/v1/customers/{promotional.rbi → promotional_entitlements.rbi} +13 -9
  97. data/rbi/stigg/resources/v1/customers.rbi +84 -53
  98. data/rbi/stigg/resources/v1/events.rbi +28 -0
  99. data/rbi/stigg/resources/v1/subscriptions/future_update.rbi +14 -10
  100. data/rbi/stigg/resources/v1/subscriptions.rbi +242 -58
  101. data/rbi/stigg/resources/v1/usage.rbi +57 -0
  102. data/rbi/stigg/resources/v1.rbi +4 -26
  103. data/sig/stigg/internal/my_cursor_id_page.rbs +17 -0
  104. data/sig/stigg/models/v1/{coupon_create_response.rbs → coupon.rbs} +29 -32
  105. data/sig/stigg/models/v1/coupon_list_params.rbs +11 -11
  106. data/sig/stigg/models/v1/coupon_list_response.rbs +331 -351
  107. data/sig/stigg/models/v1/customer_import_params.rbs +74 -0
  108. data/sig/stigg/models/v1/customer_import_response.rbs +30 -0
  109. data/sig/stigg/models/v1/customer_list_params.rbs +11 -11
  110. data/sig/stigg/models/v1/customer_list_response.rbs +133 -153
  111. data/sig/stigg/models/v1/{customer_create_params.rbs → customer_provision_params.rbs} +22 -22
  112. data/sig/stigg/models/v1/customers/{promotional_create_params.rbs → promotional_entitlement_grant_params.rbs} +43 -43
  113. data/sig/stigg/models/v1/customers/promotional_entitlement_grant_response.rbs +281 -0
  114. data/sig/stigg/models/v1/customers/{promotional_revoke_params.rbs → promotional_entitlement_revoke_params.rbs} +2 -2
  115. data/sig/stigg/models/v1/customers/promotional_entitlement_revoke_response.rbs +281 -0
  116. data/sig/stigg/models/v1/event_report_params.rbs +82 -0
  117. data/sig/stigg/models/v1/event_report_response.rbs +15 -0
  118. data/sig/stigg/models/v1/{subscription_retrieve_response.rbs → subscription.rbs} +61 -35
  119. data/sig/stigg/models/v1/subscription_cancel_params.rbs +79 -0
  120. data/sig/stigg/models/v1/subscription_import_params.rbs +84 -0
  121. data/sig/stigg/models/v1/subscription_import_response.rbs +30 -0
  122. data/sig/stigg/models/v1/subscription_list_params.rbs +14 -14
  123. data/sig/stigg/models/v1/subscription_list_response.rbs +196 -189
  124. data/sig/stigg/models/v1/subscription_preview_params.rbs +2 -6
  125. data/sig/stigg/models/v1/subscription_provision_params.rbs +2223 -0
  126. data/sig/stigg/models/v1/subscription_provision_response.rbs +1305 -0
  127. data/sig/stigg/models/v1/subscription_update_params.rbs +1544 -0
  128. data/sig/stigg/models/v1/subscriptions/cancel_subscription.rbs +34 -0
  129. data/sig/stigg/models/v1/usage_history_params.rbs +52 -0
  130. data/sig/stigg/models/v1/usage_history_response.rbs +129 -0
  131. data/sig/stigg/models/v1/usage_report_params.rbs +102 -0
  132. data/sig/stigg/models/v1/usage_report_response.rbs +87 -0
  133. data/sig/stigg/models.rbs +0 -4
  134. data/sig/stigg/resources/v1/coupons.rbs +5 -5
  135. data/sig/stigg/resources/v1/customers/{promotional.rbs → promotional_entitlements.rbs} +5 -5
  136. data/sig/stigg/resources/v1/customers.rbs +20 -17
  137. data/sig/stigg/resources/v1/events.rbs +14 -0
  138. data/sig/stigg/resources/v1/subscriptions/future_update.rbs +2 -2
  139. data/sig/stigg/resources/v1/subscriptions.rbs +68 -20
  140. data/sig/stigg/resources/v1/usage.rbs +24 -0
  141. data/sig/stigg/resources/v1.rbs +2 -8
  142. metadata +77 -71
  143. data/lib/stigg/models/v1/coupon_retrieve_response.rb +0 -317
  144. data/lib/stigg/models/v1/customers/usage_retrieve_params.rb +0 -56
  145. data/lib/stigg/models/v1/customers/usage_retrieve_response.rb +0 -145
  146. data/lib/stigg/models/v1/subscription_create_params.rb +0 -214
  147. data/lib/stigg/models/v1/subscription_create_response.rb +0 -338
  148. data/lib/stigg/models/v1/subscription_delegate_response.rb +0 -274
  149. data/lib/stigg/models/v1/subscription_migrate_response.rb +0 -274
  150. data/lib/stigg/models/v1/subscription_transfer_response.rb +0 -274
  151. data/lib/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rb +0 -32
  152. data/lib/stigg/models/v1_create_event_params.rb +0 -87
  153. data/lib/stigg/models/v1_create_event_response.rb +0 -16
  154. data/lib/stigg/models/v1_create_usage_params.rb +0 -96
  155. data/lib/stigg/models/v1_create_usage_response.rb +0 -112
  156. data/lib/stigg/resources/v1/customers/usage.rb +0 -59
  157. data/rbi/stigg/models/v1/coupon_create_response.rbi +0 -986
  158. data/rbi/stigg/models/v1/coupon_retrieve_response.rbi +0 -986
  159. data/rbi/stigg/models/v1/customers/promotional_create_response.rbi +0 -495
  160. data/rbi/stigg/models/v1/customers/promotional_revoke_response.rbi +0 -497
  161. data/rbi/stigg/models/v1/customers/usage_retrieve_params.rbi +0 -84
  162. data/rbi/stigg/models/v1/customers/usage_retrieve_response.rbi +0 -353
  163. data/rbi/stigg/models/v1/subscription_create_params.rbi +0 -394
  164. data/rbi/stigg/models/v1/subscription_create_response.rbi +0 -668
  165. data/rbi/stigg/models/v1/subscription_delegate_response.rbi +0 -535
  166. data/rbi/stigg/models/v1/subscription_retrieve_response.rbi +0 -535
  167. data/rbi/stigg/models/v1/subscription_transfer_response.rbi +0 -535
  168. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rbi +0 -79
  169. data/rbi/stigg/models/v1_create_event_params.rbi +0 -160
  170. data/rbi/stigg/models/v1_create_event_response.rbi +0 -23
  171. data/rbi/stigg/models/v1_create_usage_params.rbi +0 -177
  172. data/rbi/stigg/models/v1_create_usage_response.rbi +0 -150
  173. data/rbi/stigg/resources/v1/customers/usage.rbi +0 -45
  174. data/sig/stigg/models/v1/coupon_retrieve_response.rbs +0 -394
  175. data/sig/stigg/models/v1/customers/promotional_create_response.rbs +0 -209
  176. data/sig/stigg/models/v1/customers/promotional_revoke_response.rbs +0 -209
  177. data/sig/stigg/models/v1/customers/usage_retrieve_params.rbs +0 -54
  178. data/sig/stigg/models/v1/customers/usage_retrieve_response.rbs +0 -134
  179. data/sig/stigg/models/v1/subscription_create_params.rbs +0 -199
  180. data/sig/stigg/models/v1/subscription_create_response.rbs +0 -283
  181. data/sig/stigg/models/v1/subscription_delegate_response.rbs +0 -224
  182. data/sig/stigg/models/v1/subscription_migrate_response.rbs +0 -224
  183. data/sig/stigg/models/v1/subscription_transfer_response.rbs +0 -224
  184. data/sig/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rbs +0 -34
  185. data/sig/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rbs +0 -34
  186. data/sig/stigg/models/v1_create_event_params.rbs +0 -80
  187. data/sig/stigg/models/v1_create_event_response.rbs +0 -13
  188. data/sig/stigg/models/v1_create_usage_params.rbs +0 -90
  189. data/sig/stigg/models/v1_create_usage_response.rbs +0 -85
  190. data/sig/stigg/resources/v1/customers/usage.rbs +0 -21
@@ -7,118 +7,193 @@ module Stigg
7
7
  sig { returns(Stigg::Resources::V1::Subscriptions::FutureUpdate) }
8
8
  attr_reader :future_update
9
9
 
10
- # Create a new Subscription
10
+ # Get a single subscription by ID
11
11
  sig do
12
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,
13
+ id: String,
26
14
  request_options: Stigg::RequestOptions::OrHash
27
- ).returns(Stigg::Models::V1::SubscriptionCreateResponse)
15
+ ).returns(Stigg::V1::Subscription)
28
16
  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,
17
+ def retrieve(
18
+ # The unique identifier of the entity
19
+ id,
47
20
  request_options: {}
48
21
  )
49
22
  end
50
23
 
51
- # Get a single Subscription by id
24
+ # Update a subscription
52
25
  sig do
53
26
  params(
54
27
  id: String,
28
+ addons:
29
+ T::Array[Stigg::V1::SubscriptionUpdateParams::Addon::OrHash],
30
+ applied_coupon:
31
+ Stigg::V1::SubscriptionUpdateParams::AppliedCoupon::OrHash,
32
+ await_payment_confirmation: T::Boolean,
33
+ billing_information:
34
+ Stigg::V1::SubscriptionUpdateParams::BillingInformation::OrHash,
35
+ billing_period:
36
+ Stigg::V1::SubscriptionUpdateParams::BillingPeriod::OrSymbol,
37
+ budget:
38
+ T.nilable(Stigg::V1::SubscriptionUpdateParams::Budget::OrHash),
39
+ charges:
40
+ T::Array[Stigg::V1::SubscriptionUpdateParams::Charge::OrHash],
41
+ metadata: T::Hash[Symbol, String],
42
+ minimum_spend:
43
+ T.nilable(
44
+ Stigg::V1::SubscriptionUpdateParams::MinimumSpend::OrHash
45
+ ),
46
+ price_overrides:
47
+ T::Array[
48
+ Stigg::V1::SubscriptionUpdateParams::PriceOverride::OrHash
49
+ ],
50
+ promotion_code: String,
51
+ schedule_strategy:
52
+ Stigg::V1::SubscriptionUpdateParams::ScheduleStrategy::OrSymbol,
53
+ subscription_entitlements:
54
+ T::Array[
55
+ Stigg::V1::SubscriptionUpdateParams::SubscriptionEntitlement::OrHash
56
+ ],
57
+ trial_end_date: Time,
55
58
  request_options: Stigg::RequestOptions::OrHash
56
- ).returns(Stigg::Models::V1::SubscriptionRetrieveResponse)
59
+ ).returns(Stigg::V1::Subscription)
57
60
  end
58
- def retrieve(id, request_options: {})
61
+ def update(
62
+ # The unique identifier of the entity
63
+ id,
64
+ addons: nil,
65
+ applied_coupon: nil,
66
+ await_payment_confirmation: nil,
67
+ billing_information: nil,
68
+ billing_period: nil,
69
+ budget: nil,
70
+ charges: nil,
71
+ # Additional metadata for the subscription
72
+ metadata: nil,
73
+ minimum_spend: nil,
74
+ price_overrides: nil,
75
+ promotion_code: nil,
76
+ schedule_strategy: nil,
77
+ subscription_entitlements: nil,
78
+ # Subscription trial end date
79
+ trial_end_date: nil,
80
+ request_options: {}
81
+ )
59
82
  end
60
83
 
61
- # Get a list of Subscriptions
84
+ # Get a list of subscriptions
62
85
  sig do
63
86
  params(
87
+ after: String,
88
+ before: String,
64
89
  customer_id: String,
65
- ending_before: String,
66
90
  limit: Integer,
67
- starting_after: String,
68
91
  status: String,
69
92
  request_options: Stigg::RequestOptions::OrHash
70
- ).returns(Stigg::Models::V1::SubscriptionListResponse)
93
+ ).returns(
94
+ Stigg::Internal::MyCursorIDPage[
95
+ Stigg::Models::V1::SubscriptionListResponse
96
+ ]
97
+ )
71
98
  end
72
99
  def list(
100
+ # Return items that come after this cursor
101
+ after: nil,
102
+ # Return items that come before this cursor
103
+ before: nil,
73
104
  # Filter by customer ID
74
105
  customer_id: nil,
75
- # Ending before this UUID for pagination
76
- ending_before: nil,
77
- # Items per page
106
+ # Maximum number of items to return
78
107
  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)
108
+ # Filter by status (comma-separated)
83
109
  status: nil,
84
110
  request_options: {}
85
111
  )
86
112
  end
87
113
 
88
- # Perform delegate on a Subscription
114
+ # Cancel subscription
115
+ sig do
116
+ params(
117
+ id: String,
118
+ cancellation_action:
119
+ Stigg::V1::SubscriptionCancelParams::CancellationAction::OrSymbol,
120
+ cancellation_time:
121
+ Stigg::V1::SubscriptionCancelParams::CancellationTime::OrSymbol,
122
+ end_date: Time,
123
+ prorate: T::Boolean,
124
+ request_options: Stigg::RequestOptions::OrHash
125
+ ).returns(Stigg::V1::Subscription)
126
+ end
127
+ def cancel(
128
+ # The unique identifier of the entity
129
+ id,
130
+ # Action on cancellation (downgrade or revoke)
131
+ cancellation_action: nil,
132
+ # When to cancel (immediate, period end, or date)
133
+ cancellation_time: nil,
134
+ # Subscription end date
135
+ end_date: nil,
136
+ # If set, enables or disables prorating of credits on subscription cancellation.
137
+ prorate: nil,
138
+ request_options: {}
139
+ )
140
+ end
141
+
142
+ # Delegate subscription payment to customer
89
143
  sig do
90
144
  params(
91
145
  id: String,
92
146
  target_customer_id: String,
93
147
  request_options: Stigg::RequestOptions::OrHash
94
- ).returns(Stigg::Models::V1::SubscriptionDelegateResponse)
148
+ ).returns(Stigg::V1::Subscription)
95
149
  end
96
150
  def delegate(
151
+ # The unique identifier of the entity
97
152
  id,
98
- # The customer ID to delegate the subscription to
153
+ # The unique identifier of the customer who will assume payment responsibility for
154
+ # this subscription. This customer must already exist in your Stigg account and
155
+ # have a valid payment method if the subscription requires payment.
99
156
  target_customer_id:,
100
157
  request_options: {}
101
158
  )
102
159
  end
103
160
 
104
- # Perform migrate to latest plan version on a Subscription
161
+ # Bulk import subscriptions
162
+ sig do
163
+ params(
164
+ subscriptions:
165
+ T::Array[
166
+ Stigg::V1::SubscriptionImportParams::Subscription::OrHash
167
+ ],
168
+ request_options: Stigg::RequestOptions::OrHash
169
+ ).returns(Stigg::Models::V1::SubscriptionImportResponse)
170
+ end
171
+ def import(
172
+ # List of subscription objects to import
173
+ subscriptions:,
174
+ request_options: {}
175
+ )
176
+ end
177
+
178
+ # Migrate subscription to latest plan version
105
179
  sig do
106
180
  params(
107
181
  id: String,
108
182
  subscription_migration_time:
109
183
  Stigg::V1::SubscriptionMigrateParams::SubscriptionMigrationTime::OrSymbol,
110
184
  request_options: Stigg::RequestOptions::OrHash
111
- ).returns(Stigg::Models::V1::SubscriptionMigrateResponse)
185
+ ).returns(Stigg::V1::Subscription)
112
186
  end
113
187
  def migrate(
188
+ # The unique identifier of the entity
114
189
  id,
115
- # When to migrate the subscription: IMMEDIATE or END_OF_BILLING_PERIOD
190
+ # When to migrate (immediate or period end)
116
191
  subscription_migration_time: nil,
117
192
  request_options: {}
118
193
  )
119
194
  end
120
195
 
121
- # Create a new Subscription Preview
196
+ # Preview subscription
122
197
  sig do
123
198
  params(
124
199
  customer_id: String,
@@ -154,36 +229,145 @@ module Stigg
154
229
  customer_id:,
155
230
  # Plan ID
156
231
  plan_id:,
232
+ # Addons to include
157
233
  addons: nil,
234
+ # Coupon or discount to apply
158
235
  applied_coupon: nil,
236
+ # Billable features with quantities
159
237
  billable_features: nil,
238
+ # ISO 3166-1 country code for localization
160
239
  billing_country_code: nil,
240
+ # Billing and tax configuration
161
241
  billing_information: nil,
242
+ # Billing period (MONTHLY or ANNUALLY)
162
243
  billing_period: nil,
244
+ # One-time or recurring charges
163
245
  charges: nil,
246
+ # Paying customer ID for delegated billing
164
247
  paying_customer_id: nil,
248
+ # Resource ID for multi-instance subscriptions
249
+ resource_id: nil,
250
+ # When to apply subscription changes
251
+ schedule_strategy: nil,
252
+ # Subscription start date
253
+ start_date: nil,
254
+ # Trial period override settings
255
+ trial_override_configuration: nil,
256
+ # Unit quantity for per-unit pricing
257
+ unit_quantity: nil,
258
+ request_options: {}
259
+ )
260
+ end
261
+
262
+ # Provision subscription
263
+ sig do
264
+ params(
265
+ customer_id: String,
266
+ plan_id: String,
267
+ id: String,
268
+ addons:
269
+ T::Array[Stigg::V1::SubscriptionProvisionParams::Addon::OrHash],
270
+ applied_coupon:
271
+ Stigg::V1::SubscriptionProvisionParams::AppliedCoupon::OrHash,
272
+ await_payment_confirmation: T::Boolean,
273
+ billing_country_code: T.nilable(String),
274
+ billing_id: T.nilable(String),
275
+ billing_information:
276
+ Stigg::V1::SubscriptionProvisionParams::BillingInformation::OrHash,
277
+ billing_period:
278
+ Stigg::V1::SubscriptionProvisionParams::BillingPeriod::OrSymbol,
279
+ budget:
280
+ T.nilable(Stigg::V1::SubscriptionProvisionParams::Budget::OrHash),
281
+ charges:
282
+ T::Array[Stigg::V1::SubscriptionProvisionParams::Charge::OrHash],
283
+ checkout_options:
284
+ Stigg::V1::SubscriptionProvisionParams::CheckoutOptions::OrHash,
285
+ metadata: T::Hash[Symbol, String],
286
+ minimum_spend:
287
+ T.nilable(
288
+ Stigg::V1::SubscriptionProvisionParams::MinimumSpend::OrHash
289
+ ),
290
+ paying_customer_id: T.nilable(String),
291
+ payment_collection_method:
292
+ Stigg::V1::SubscriptionProvisionParams::PaymentCollectionMethod::OrSymbol,
293
+ price_overrides:
294
+ T::Array[
295
+ Stigg::V1::SubscriptionProvisionParams::PriceOverride::OrHash
296
+ ],
297
+ resource_id: T.nilable(String),
298
+ salesforce_id: T.nilable(String),
299
+ schedule_strategy:
300
+ Stigg::V1::SubscriptionProvisionParams::ScheduleStrategy::OrSymbol,
301
+ start_date: Time,
302
+ subscription_entitlements:
303
+ T::Array[
304
+ Stigg::V1::SubscriptionProvisionParams::SubscriptionEntitlement::OrHash
305
+ ],
306
+ trial_override_configuration:
307
+ Stigg::V1::SubscriptionProvisionParams::TrialOverrideConfiguration::OrHash,
308
+ unit_quantity: Float,
309
+ request_options: Stigg::RequestOptions::OrHash
310
+ ).returns(Stigg::Models::V1::SubscriptionProvisionResponse)
311
+ end
312
+ def provision(
313
+ # Customer ID to provision the subscription for
314
+ customer_id:,
315
+ # Plan ID to provision
316
+ plan_id:,
317
+ # Unique identifier for the subscription
318
+ id: nil,
319
+ addons: nil,
320
+ # Coupon configuration
321
+ applied_coupon: nil,
322
+ # Whether to wait for payment confirmation before returning the subscription
323
+ await_payment_confirmation: nil,
324
+ # The ISO 3166-1 alpha-2 country code for billing
325
+ billing_country_code: nil,
326
+ # External billing system identifier
327
+ billing_id: nil,
328
+ billing_information: nil,
329
+ # Billing period (MONTHLY or ANNUALLY)
330
+ billing_period: nil,
331
+ budget: nil,
332
+ charges: nil,
333
+ # Checkout page configuration for payment collection
334
+ checkout_options: nil,
335
+ # Additional metadata for the subscription
336
+ metadata: nil,
337
+ minimum_spend: nil,
338
+ # Optional paying customer ID for split billing scenarios
339
+ paying_customer_id: nil,
340
+ # How payments should be collected for this subscription
341
+ payment_collection_method: nil,
342
+ price_overrides: nil,
343
+ # Optional resource ID for multi-instance subscriptions
165
344
  resource_id: nil,
345
+ # Salesforce ID
346
+ salesforce_id: nil,
347
+ # Strategy for scheduling subscription changes
166
348
  schedule_strategy: nil,
167
349
  # Subscription start date
168
350
  start_date: nil,
351
+ subscription_entitlements: nil,
352
+ # Trial period override settings
169
353
  trial_override_configuration: nil,
170
354
  unit_quantity: nil,
171
355
  request_options: {}
172
356
  )
173
357
  end
174
358
 
175
- # Perform transfer to resource on a Subscription
359
+ # Transfer subscription to resource
176
360
  sig do
177
361
  params(
178
362
  id: String,
179
363
  destination_resource_id: String,
180
364
  request_options: Stigg::RequestOptions::OrHash
181
- ).returns(Stigg::Models::V1::SubscriptionTransferResponse)
365
+ ).returns(Stigg::V1::Subscription)
182
366
  end
183
367
  def transfer(
368
+ # The unique identifier of the entity
184
369
  id,
185
- # The resource ID to transfer the subscription to. The destination resource must
186
- # belong to the same customer.
370
+ # Resource ID to transfer the subscription to
187
371
  destination_resource_id:,
188
372
  request_options: {}
189
373
  )
@@ -0,0 +1,57 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Resources
5
+ class V1
6
+ class Usage
7
+ # Get usage history
8
+ sig do
9
+ params(
10
+ feature_id: String,
11
+ customer_id: String,
12
+ start_date: Time,
13
+ end_date: Time,
14
+ group_by: String,
15
+ resource_id: T.nilable(String),
16
+ request_options: Stigg::RequestOptions::OrHash
17
+ ).returns(Stigg::Models::V1::UsageHistoryResponse)
18
+ end
19
+ def history(
20
+ # Path param: Feature id
21
+ feature_id,
22
+ # Path param: Customer id
23
+ customer_id:,
24
+ # Query param: The start date of the range
25
+ start_date:,
26
+ # Query param: The end date of the range
27
+ end_date: nil,
28
+ # Query param
29
+ group_by: nil,
30
+ # Query param: Resource id
31
+ resource_id: nil,
32
+ request_options: {}
33
+ )
34
+ end
35
+
36
+ # Report usage measurements
37
+ sig do
38
+ params(
39
+ usages: T::Array[Stigg::V1::UsageReportParams::Usage::OrHash],
40
+ request_options: Stigg::RequestOptions::OrHash
41
+ ).returns(Stigg::Models::V1::UsageReportResponse)
42
+ end
43
+ def report(
44
+ # A list of usage reports to be submitted in bulk
45
+ usages:,
46
+ request_options: {}
47
+ )
48
+ end
49
+
50
+ # @api private
51
+ sig { params(client: Stigg::Client).returns(T.attached_class) }
52
+ def self.new(client:)
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -12,33 +12,11 @@ module Stigg
12
12
  sig { returns(Stigg::Resources::V1::Coupons) }
13
13
  attr_reader :coupons
14
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
15
+ sig { returns(Stigg::Resources::V1::Events) }
16
+ attr_reader :events
28
17
 
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
18
+ sig { returns(Stigg::Resources::V1::Usage) }
19
+ attr_reader :usage
42
20
 
43
21
  # @api private
44
22
  sig { params(client: Stigg::Client).returns(T.attached_class) }
@@ -5,7 +5,24 @@ module Stigg
5
5
 
6
6
  attr_accessor data: ::Array[Elem]?
7
7
 
8
+ attr_accessor pagination: Pagination
9
+
8
10
  def inspect: -> String
11
+
12
+ type pagination = { next_: String, prev: String }
13
+ class Pagination < Stigg::Internal::Type::BaseModel
14
+ attr_reader next_: String?
15
+
16
+ def next_=: (String) -> String
17
+
18
+ attr_reader prev: String?
19
+
20
+ def prev=: (String) -> String
21
+
22
+ def initialize: (?next_: String, ?prev: String) -> void
23
+
24
+ def to_hash: -> { next_: String, prev: String }
25
+ end
9
26
  end
10
27
  end
11
28
  end
@@ -1,22 +1,19 @@
1
1
  module Stigg
2
2
  module Models
3
3
  module V1
4
- type coupon_create_response =
5
- { data: Stigg::Models::V1::CouponCreateResponse::Data }
4
+ type coupon = { data: Stigg::V1::Coupon::Data }
6
5
 
7
- class CouponCreateResponse < Stigg::Internal::Type::BaseModel
8
- attr_accessor data: Stigg::Models::V1::CouponCreateResponse::Data
6
+ class Coupon < Stigg::Internal::Type::BaseModel
7
+ attr_accessor data: Stigg::V1::Coupon::Data
9
8
 
10
- def initialize: (
11
- data: Stigg::Models::V1::CouponCreateResponse::Data
12
- ) -> void
9
+ def initialize: (data: Stigg::V1::Coupon::Data) -> void
13
10
 
14
- def to_hash: -> { data: Stigg::Models::V1::CouponCreateResponse::Data }
11
+ def to_hash: -> { data: Stigg::V1::Coupon::Data }
15
12
 
16
13
  type data =
17
14
  {
18
15
  id: String,
19
- amounts_off: ::Array[Stigg::Models::V1::CouponCreateResponse::Data::AmountsOff]?,
16
+ amounts_off: ::Array[Stigg::V1::Coupon::Data::AmountsOff]?,
20
17
  billing_id: String?,
21
18
  billing_link_url: String?,
22
19
  created_at: Time,
@@ -24,16 +21,16 @@ module Stigg
24
21
  duration_in_months: Float?,
25
22
  name: String,
26
23
  percent_off: Float?,
27
- source: Stigg::Models::V1::CouponCreateResponse::Data::source?,
28
- status: Stigg::Models::V1::CouponCreateResponse::Data::status,
29
- type: Stigg::Models::V1::CouponCreateResponse::Data::type_,
24
+ source: Stigg::Models::V1::Coupon::Data::source?,
25
+ status: Stigg::Models::V1::Coupon::Data::status,
26
+ type: Stigg::Models::V1::Coupon::Data::type_,
30
27
  updated_at: Time
31
28
  }
32
29
 
33
30
  class Data < Stigg::Internal::Type::BaseModel
34
31
  attr_accessor id: String
35
32
 
36
- attr_accessor amounts_off: ::Array[Stigg::Models::V1::CouponCreateResponse::Data::AmountsOff]?
33
+ attr_accessor amounts_off: ::Array[Stigg::V1::Coupon::Data::AmountsOff]?
37
34
 
38
35
  attr_accessor billing_id: String?
39
36
 
@@ -49,17 +46,17 @@ module Stigg
49
46
 
50
47
  attr_accessor percent_off: Float?
51
48
 
52
- attr_accessor source: Stigg::Models::V1::CouponCreateResponse::Data::source?
49
+ attr_accessor source: Stigg::Models::V1::Coupon::Data::source?
53
50
 
54
- attr_accessor status: Stigg::Models::V1::CouponCreateResponse::Data::status
51
+ attr_accessor status: Stigg::Models::V1::Coupon::Data::status
55
52
 
56
- attr_accessor type: Stigg::Models::V1::CouponCreateResponse::Data::type_
53
+ attr_accessor type: Stigg::Models::V1::Coupon::Data::type_
57
54
 
58
55
  attr_accessor updated_at: Time
59
56
 
60
57
  def initialize: (
61
58
  id: String,
62
- amounts_off: ::Array[Stigg::Models::V1::CouponCreateResponse::Data::AmountsOff]?,
59
+ amounts_off: ::Array[Stigg::V1::Coupon::Data::AmountsOff]?,
63
60
  billing_id: String?,
64
61
  billing_link_url: String?,
65
62
  created_at: Time,
@@ -67,15 +64,15 @@ module Stigg
67
64
  duration_in_months: Float?,
68
65
  name: String,
69
66
  percent_off: Float?,
70
- source: Stigg::Models::V1::CouponCreateResponse::Data::source?,
71
- status: Stigg::Models::V1::CouponCreateResponse::Data::status,
72
- type: Stigg::Models::V1::CouponCreateResponse::Data::type_,
67
+ source: Stigg::Models::V1::Coupon::Data::source?,
68
+ status: Stigg::Models::V1::Coupon::Data::status,
69
+ type: Stigg::Models::V1::Coupon::Data::type_,
73
70
  updated_at: Time
74
71
  ) -> void
75
72
 
76
73
  def to_hash: -> {
77
74
  id: String,
78
- amounts_off: ::Array[Stigg::Models::V1::CouponCreateResponse::Data::AmountsOff]?,
75
+ amounts_off: ::Array[Stigg::V1::Coupon::Data::AmountsOff]?,
79
76
  billing_id: String?,
80
77
  billing_link_url: String?,
81
78
  created_at: Time,
@@ -83,31 +80,31 @@ module Stigg
83
80
  duration_in_months: Float?,
84
81
  name: String,
85
82
  percent_off: Float?,
86
- source: Stigg::Models::V1::CouponCreateResponse::Data::source?,
87
- status: Stigg::Models::V1::CouponCreateResponse::Data::status,
88
- type: Stigg::Models::V1::CouponCreateResponse::Data::type_,
83
+ source: Stigg::Models::V1::Coupon::Data::source?,
84
+ status: Stigg::Models::V1::Coupon::Data::status,
85
+ type: Stigg::Models::V1::Coupon::Data::type_,
89
86
  updated_at: Time
90
87
  }
91
88
 
92
89
  type amounts_off =
93
90
  {
94
91
  amount: Float,
95
- currency: Stigg::Models::V1::CouponCreateResponse::Data::AmountsOff::currency?
92
+ currency: Stigg::Models::V1::Coupon::Data::AmountsOff::currency
96
93
  }
97
94
 
98
95
  class AmountsOff < Stigg::Internal::Type::BaseModel
99
96
  attr_accessor amount: Float
100
97
 
101
- attr_accessor currency: Stigg::Models::V1::CouponCreateResponse::Data::AmountsOff::currency?
98
+ attr_accessor currency: Stigg::Models::V1::Coupon::Data::AmountsOff::currency
102
99
 
103
100
  def initialize: (
104
101
  amount: Float,
105
- currency: Stigg::Models::V1::CouponCreateResponse::Data::AmountsOff::currency?
102
+ currency: Stigg::Models::V1::Coupon::Data::AmountsOff::currency
106
103
  ) -> void
107
104
 
108
105
  def to_hash: -> {
109
106
  amount: Float,
110
- currency: Stigg::Models::V1::CouponCreateResponse::Data::AmountsOff::currency?
107
+ currency: Stigg::Models::V1::Coupon::Data::AmountsOff::currency
111
108
  }
112
109
 
113
110
  type currency =
@@ -348,7 +345,7 @@ module Stigg
348
345
  XOF: :xof
349
346
  XPF: :xpf
350
347
 
351
- def self?.values: -> ::Array[Stigg::Models::V1::CouponCreateResponse::Data::AmountsOff::currency]
348
+ def self?.values: -> ::Array[Stigg::Models::V1::Coupon::Data::AmountsOff::currency]
352
349
  end
353
350
  end
354
351
 
@@ -361,7 +358,7 @@ module Stigg
361
358
  STIGG_ADHOC: :STIGG_ADHOC
362
359
  STRIPE: :STRIPE
363
360
 
364
- def self?.values: -> ::Array[Stigg::Models::V1::CouponCreateResponse::Data::source]
361
+ def self?.values: -> ::Array[Stigg::Models::V1::Coupon::Data::source]
365
362
  end
366
363
 
367
364
  type status = :ACTIVE | :ARCHIVED
@@ -372,7 +369,7 @@ module Stigg
372
369
  ACTIVE: :ACTIVE
373
370
  ARCHIVED: :ARCHIVED
374
371
 
375
- def self?.values: -> ::Array[Stigg::Models::V1::CouponCreateResponse::Data::status]
372
+ def self?.values: -> ::Array[Stigg::Models::V1::Coupon::Data::status]
376
373
  end
377
374
 
378
375
  type type_ = :FIXED | :PERCENTAGE
@@ -383,7 +380,7 @@ module Stigg
383
380
  FIXED: :FIXED
384
381
  PERCENTAGE: :PERCENTAGE
385
382
 
386
- def self?.values: -> ::Array[Stigg::Models::V1::CouponCreateResponse::Data::type_]
383
+ def self?.values: -> ::Array[Stigg::Models::V1::Coupon::Data::type_]
387
384
  end
388
385
  end
389
386
  end