clerk-sdk-ruby 8.0.0 → 8.0.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 (243) hide show
  1. checksums.yaml +4 -4
  2. data/lib/clerk/actortokens.rb +1 -1
  3. data/lib/clerk/billing.rb +336 -0
  4. data/lib/clerk/directories.rb +1534 -0
  5. data/lib/clerk/domains.rb +7 -4
  6. data/lib/clerk/models/components/amount_off.rb +44 -0
  7. data/lib/clerk/models/components/amount_off.rbi +19 -0
  8. data/lib/clerk/models/components/applycommercediscountrequest.rb +32 -0
  9. data/lib/clerk/models/components/applycommercediscountrequest.rbi +13 -0
  10. data/lib/clerk/models/components/automation_disposition.rb +21 -0
  11. data/lib/clerk/models/components/automation_disposition.rbi +11 -0
  12. data/lib/clerk/models/components/billingstatement.rb +1 -1
  13. data/lib/clerk/models/components/{group.rb → billingstatement_group.rb} +1 -1
  14. data/lib/clerk/models/components/{group.rbi → billingstatement_group.rbi} +2 -2
  15. data/lib/clerk/models/components/biometriccredential.rb +72 -0
  16. data/lib/clerk/models/components/biometriccredential.rbi +33 -0
  17. data/lib/clerk/models/components/biometriccredential_algorithm.rb +19 -0
  18. data/lib/clerk/models/components/biometriccredential_algorithm.rbi +11 -0
  19. data/lib/clerk/models/components/biometriccredential_list.rb +36 -0
  20. data/lib/clerk/models/components/biometriccredential_list.rbi +15 -0
  21. data/lib/clerk/models/components/biometriccredential_object.rb +19 -0
  22. data/lib/clerk/models/components/biometriccredential_object.rbi +11 -0
  23. data/lib/clerk/models/components/biometriccredential_platform.rb +20 -0
  24. data/lib/clerk/models/components/biometriccredential_platform.rbi +11 -0
  25. data/lib/clerk/models/components/biometriccredential_status.rb +20 -0
  26. data/lib/clerk/models/components/biometriccredential_status.rbi +11 -0
  27. data/lib/clerk/models/components/commercediscountredemptionresponse.rb +93 -0
  28. data/lib/clerk/models/components/commercediscountredemptionresponse.rbi +43 -0
  29. data/lib/clerk/models/components/commercediscountredemptionresponse_amount.rb +45 -0
  30. data/lib/clerk/models/components/commercediscountredemptionresponse_amount.rbi +19 -0
  31. data/lib/clerk/models/components/commercediscountredemptionresponse_object.rb +19 -0
  32. data/lib/clerk/models/components/commercediscountredemptionresponse_object.rbi +11 -0
  33. data/lib/clerk/models/components/commercediscountredemptionresponse_status.rb +21 -0
  34. data/lib/clerk/models/components/commercediscountredemptionresponse_status.rbi +11 -0
  35. data/lib/clerk/models/components/createbillingpricerequest.rb +2 -2
  36. data/lib/clerk/models/components/directory.rb +80 -0
  37. data/lib/clerk/models/components/directory.rbi +37 -0
  38. data/lib/clerk/models/components/directory_custom_attribute.rb +52 -0
  39. data/lib/clerk/models/components/directory_custom_attribute.rbi +23 -0
  40. data/lib/clerk/models/components/directory_group.rb +36 -0
  41. data/lib/clerk/models/components/directory_group.rbi +15 -0
  42. data/lib/clerk/models/components/directory_list.rb +36 -0
  43. data/lib/clerk/models/components/directory_list.rbi +15 -0
  44. data/lib/clerk/models/components/directory_object.rb +19 -0
  45. data/lib/clerk/models/components/directory_object.rbi +11 -0
  46. data/lib/clerk/models/components/directorygrouprolemapping.rb +76 -0
  47. data/lib/clerk/models/components/directorygrouprolemapping.rbi +35 -0
  48. data/lib/clerk/models/components/directorygrouprolemapping_deleted.rb +43 -0
  49. data/lib/clerk/models/components/directorygrouprolemapping_deleted.rbi +17 -0
  50. data/lib/clerk/models/components/directorygrouprolemapping_deleted_object.rb +19 -0
  51. data/lib/clerk/models/components/directorygrouprolemapping_deleted_object.rbi +11 -0
  52. data/lib/clerk/models/components/directorygrouprolemapping_list.rb +36 -0
  53. data/lib/clerk/models/components/directorygrouprolemapping_list.rbi +15 -0
  54. data/lib/clerk/models/components/directorygrouprolemapping_object.rb +19 -0
  55. data/lib/clerk/models/components/directorygrouprolemapping_object.rbi +11 -0
  56. data/lib/clerk/models/components/dnstarget.rb +49 -0
  57. data/lib/clerk/models/components/dnstarget.rbi +21 -0
  58. data/lib/clerk/models/components/domain.rb +7 -2
  59. data/lib/clerk/models/components/domain.rbi +2 -0
  60. data/lib/clerk/models/components/effect.rb +20 -0
  61. data/lib/clerk/models/components/{platform.rbi → effect.rbi} +2 -2
  62. data/lib/clerk/models/components/enterpriseconnection_custom_attribute.rb +5 -1
  63. data/lib/clerk/models/components/enterpriseconnection_custom_attribute.rbi +2 -0
  64. data/lib/clerk/models/components/instance.rb +13 -1
  65. data/lib/clerk/models/components/instance.rbi +6 -0
  66. data/lib/clerk/models/components/instanceprotect.rb +10 -2
  67. data/lib/clerk/models/components/instanceprotect.rbi +4 -0
  68. data/lib/clerk/models/components/instancesettings.rb +1 -1
  69. data/lib/clerk/models/components/level.rb +21 -0
  70. data/lib/clerk/models/components/{algorithm.rbi → level.rbi} +2 -2
  71. data/lib/clerk/models/components/oauthapplication.rb +7 -2
  72. data/lib/clerk/models/components/oauthapplication.rbi +2 -0
  73. data/lib/clerk/models/components/oauthapplicationsettings.rb +11 -2
  74. data/lib/clerk/models/components/oauthapplicationsettings.rbi +4 -0
  75. data/lib/clerk/models/components/oauthapplicationwithsecret.rb +7 -2
  76. data/lib/clerk/models/components/oauthapplicationwithsecret.rbi +2 -0
  77. data/lib/clerk/models/components/organization.rb +6 -1
  78. data/lib/clerk/models/components/organization.rbi +2 -0
  79. data/lib/clerk/models/components/organizationmembership_organization.rb +6 -1
  80. data/lib/clerk/models/components/organizationmembership_organization.rbi +2 -0
  81. data/lib/clerk/models/components/organizationwithlogo.rb +6 -1
  82. data/lib/clerk/models/components/organizationwithlogo.rbi +2 -0
  83. data/lib/clerk/models/components/record_type.rb +20 -0
  84. data/lib/clerk/models/components/record_type.rbi +11 -0
  85. data/lib/clerk/models/components/reverification.rb +74 -0
  86. data/lib/clerk/models/components/reverification.rbi +31 -0
  87. data/lib/clerk/models/components/reverification_object.rb +20 -0
  88. data/lib/clerk/models/components/reverification_object.rbi +11 -0
  89. data/lib/clerk/models/components/reverification_status.rb +21 -0
  90. data/lib/clerk/models/components/reverification_status.rbi +11 -0
  91. data/lib/clerk/models/components/scim_group.rb +36 -0
  92. data/lib/clerk/models/components/scim_group.rbi +15 -0
  93. data/lib/clerk/models/components/scimdirectory.rb +8 -8
  94. data/lib/clerk/models/components/scimdirectory_custom_attribute.rb +5 -1
  95. data/lib/clerk/models/components/scimdirectory_custom_attribute.rbi +2 -0
  96. data/lib/clerk/models/components/scimdirectory_list.rb +2 -2
  97. data/lib/clerk/models/components/scimgrouprolemapping.rb +14 -2
  98. data/lib/clerk/models/components/scimgrouprolemapping.rbi +6 -0
  99. data/lib/clerk/models/components/scimusermetadata.rb +64 -0
  100. data/lib/clerk/models/components/scimusermetadata.rbi +27 -0
  101. data/lib/clerk/models/components/scimusermetadata_group.rb +36 -0
  102. data/lib/clerk/models/components/scimusermetadata_group.rbi +15 -0
  103. data/lib/clerk/models/components/source.rb +21 -0
  104. data/lib/clerk/models/components/source.rbi +11 -0
  105. data/lib/clerk/models/components/trusteddevice.rb +2 -2
  106. data/lib/clerk/models/components/{algorithm.rb → trusteddevice_algorithm.rb} +1 -1
  107. data/lib/clerk/models/components/trusteddevice_algorithm.rbi +11 -0
  108. data/lib/clerk/models/components/{platform.rb → trusteddevice_platform.rb} +1 -1
  109. data/lib/clerk/models/components/trusteddevice_platform.rbi +11 -0
  110. data/lib/clerk/models/components/user.rb +16 -3
  111. data/lib/clerk/models/components/user.rbi +4 -0
  112. data/lib/clerk/models/components/user_directory.rb +65 -0
  113. data/lib/clerk/models/components/user_directory.rbi +27 -0
  114. data/lib/clerk/models/components/user_scim.rb +27 -6
  115. data/lib/clerk/models/components/user_scim.rbi +10 -0
  116. data/lib/clerk/models/components.rb +38 -3
  117. data/lib/clerk/models/operations/adddomain_request.rb +3 -6
  118. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_request.rb +36 -0
  119. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_request.rbi +15 -0
  120. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_response.rb +44 -0
  121. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_response.rbi +19 -0
  122. data/lib/clerk/models/operations/clerkidpoauthaccesstoken.rb +5 -1
  123. data/lib/clerk/models/operations/clerkidpoauthaccesstoken.rbi +2 -0
  124. data/lib/clerk/models/operations/createdirectory_group_role_mapping.rb +52 -0
  125. data/lib/clerk/models/operations/createdirectory_group_role_mapping.rbi +23 -0
  126. data/lib/clerk/models/operations/createdirectory_request.rb +44 -0
  127. data/lib/clerk/models/operations/createdirectory_request.rbi +19 -0
  128. data/lib/clerk/models/operations/createdirectory_response.rb +44 -0
  129. data/lib/clerk/models/operations/createdirectory_response.rbi +19 -0
  130. data/lib/clerk/models/operations/createdirectorygrouprolemapping_request.rb +36 -0
  131. data/lib/clerk/models/operations/createdirectorygrouprolemapping_request.rbi +15 -0
  132. data/lib/clerk/models/operations/createdirectorygrouprolemapping_requestbody.rb +46 -0
  133. data/lib/clerk/models/operations/createdirectorygrouprolemapping_requestbody.rbi +19 -0
  134. data/lib/clerk/models/operations/createdirectorygrouprolemapping_response.rb +44 -0
  135. data/lib/clerk/models/operations/createdirectorygrouprolemapping_response.rbi +19 -0
  136. data/lib/clerk/models/operations/createenterpriseconnection_custom_attribute.rb +5 -1
  137. data/lib/clerk/models/operations/createenterpriseconnection_custom_attribute.rbi +2 -0
  138. data/lib/clerk/models/operations/createoauthapplication_request.rb +6 -2
  139. data/lib/clerk/models/operations/createoauthapplication_request.rbi +2 -0
  140. data/lib/clerk/models/operations/{group_role_mapping.rb → createscimdirectory_group_role_mapping.rb} +1 -1
  141. data/lib/clerk/models/operations/{group_role_mapping.rbi → createscimdirectory_group_role_mapping.rbi} +2 -2
  142. data/lib/clerk/models/operations/createscimdirectory_request.rb +4 -4
  143. data/lib/clerk/models/operations/createscimdirectory_response.rb +1 -1
  144. data/lib/clerk/models/operations/createscimgrouprolemapping_request.rb +1 -1
  145. data/lib/clerk/models/operations/createuser_request.rb +8 -2
  146. data/lib/clerk/models/operations/createuser_request.rbi +2 -0
  147. data/lib/clerk/models/operations/deletedirectory_request.rb +32 -0
  148. data/lib/clerk/models/operations/deletedirectory_request.rbi +13 -0
  149. data/lib/clerk/models/operations/deletedirectory_response.rb +44 -0
  150. data/lib/clerk/models/operations/deletedirectory_response.rbi +19 -0
  151. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_request.rb +36 -0
  152. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_request.rbi +15 -0
  153. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_response.rb +44 -0
  154. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_response.rbi +19 -0
  155. data/lib/clerk/models/operations/deletedomain_request.rb +1 -1
  156. data/lib/clerk/models/operations/deletescimdirectory_request.rb +1 -1
  157. data/lib/clerk/models/operations/deletescimgrouprolemapping_request.rb +1 -1
  158. data/lib/clerk/models/operations/getdirectory_request.rb +32 -0
  159. data/lib/clerk/models/operations/getdirectory_request.rbi +13 -0
  160. data/lib/clerk/models/operations/getdirectory_response.rb +44 -0
  161. data/lib/clerk/models/operations/getdirectory_response.rbi +19 -0
  162. data/lib/clerk/models/operations/getreverification_request.rb +36 -0
  163. data/lib/clerk/models/operations/getreverification_request.rbi +15 -0
  164. data/lib/clerk/models/operations/getreverification_response.rb +44 -0
  165. data/lib/clerk/models/operations/getreverification_response.rbi +19 -0
  166. data/lib/clerk/models/operations/getscimdirectory_request.rb +1 -1
  167. data/lib/clerk/models/operations/getscimdirectory_response.rb +1 -1
  168. data/lib/clerk/models/operations/getuserlist_request.rb +13 -1
  169. data/lib/clerk/models/operations/getuserlist_request.rbi +2 -0
  170. data/lib/clerk/models/operations/listdirectories_request.rb +39 -0
  171. data/lib/clerk/models/operations/listdirectories_request.rbi +15 -0
  172. data/lib/clerk/models/operations/listdirectories_response.rb +44 -0
  173. data/lib/clerk/models/operations/listdirectories_response.rbi +19 -0
  174. data/lib/clerk/models/operations/listdirectorygrouprolemappings_request.rb +32 -0
  175. data/lib/clerk/models/operations/listdirectorygrouprolemappings_request.rbi +13 -0
  176. data/lib/clerk/models/operations/listdirectorygrouprolemappings_response.rb +44 -0
  177. data/lib/clerk/models/operations/listdirectorygrouprolemappings_response.rbi +19 -0
  178. data/lib/clerk/models/operations/listoauthapplications_request.rb +2 -0
  179. data/lib/clerk/models/operations/listscimdirectories_response.rb +1 -1
  180. data/lib/clerk/models/operations/listscimgrouprolemappings_request.rb +1 -1
  181. data/lib/clerk/models/operations/listuserbiometriccredentials_request.rb +32 -0
  182. data/lib/clerk/models/operations/listuserbiometriccredentials_request.rbi +13 -0
  183. data/lib/clerk/models/operations/listuserbiometriccredentials_response.rb +44 -0
  184. data/lib/clerk/models/operations/listuserbiometriccredentials_response.rbi +19 -0
  185. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_request.rb +36 -0
  186. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_request.rbi +15 -0
  187. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_response.rb +44 -0
  188. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_response.rbi +19 -0
  189. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_mapping.rb +40 -0
  190. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_mapping.rbi +17 -0
  191. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_request.rb +36 -0
  192. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_request.rbi +15 -0
  193. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_requestbody.rb +32 -0
  194. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_requestbody.rbi +13 -0
  195. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_response.rb +44 -0
  196. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_response.rbi +19 -0
  197. data/lib/clerk/models/operations/{mapping.rb → replacescimgrouprolemappings_mapping.rb} +1 -1
  198. data/lib/clerk/models/operations/{mapping.rbi → replacescimgrouprolemappings_mapping.rbi} +2 -2
  199. data/lib/clerk/models/operations/replacescimgrouprolemappings_request.rb +1 -1
  200. data/lib/clerk/models/operations/replacescimgrouprolemappings_requestbody.rb +1 -1
  201. data/lib/clerk/models/operations/revokeuserbiometriccredential_request.rb +36 -0
  202. data/lib/clerk/models/operations/revokeuserbiometriccredential_request.rbi +15 -0
  203. data/lib/clerk/models/operations/revokeuserbiometriccredential_response.rb +44 -0
  204. data/lib/clerk/models/operations/revokeuserbiometriccredential_response.rbi +19 -0
  205. data/lib/clerk/models/operations/rotatedirectoryapikey_request.rb +32 -0
  206. data/lib/clerk/models/operations/rotatedirectoryapikey_request.rbi +13 -0
  207. data/lib/clerk/models/operations/rotatedirectoryapikey_response.rb +44 -0
  208. data/lib/clerk/models/operations/rotatedirectoryapikey_response.rbi +19 -0
  209. data/lib/clerk/models/operations/rotatescimdirectoryapikey_request.rb +1 -1
  210. data/lib/clerk/models/operations/rotatescimdirectoryapikey_response.rb +1 -1
  211. data/lib/clerk/models/operations/updatedirectory_request.rb +36 -0
  212. data/lib/clerk/models/operations/updatedirectory_request.rbi +15 -0
  213. data/lib/clerk/models/operations/updatedirectory_requestbody.rb +49 -0
  214. data/lib/clerk/models/operations/updatedirectory_requestbody.rbi +21 -0
  215. data/lib/clerk/models/operations/updatedirectory_response.rb +44 -0
  216. data/lib/clerk/models/operations/updatedirectory_response.rbi +19 -0
  217. data/lib/clerk/models/operations/updateenterpriseconnection_custom_attribute.rb +5 -1
  218. data/lib/clerk/models/operations/updateenterpriseconnection_custom_attribute.rbi +2 -0
  219. data/lib/clerk/models/operations/updateinstance_request.rb +15 -5
  220. data/lib/clerk/models/operations/updateinstance_request.rbi +6 -2
  221. data/lib/clerk/models/operations/updateinstanceoauthapplicationsettings_request.rb +11 -2
  222. data/lib/clerk/models/operations/updateinstanceoauthapplicationsettings_request.rbi +4 -0
  223. data/lib/clerk/models/operations/updateinstanceprotect_request.rb +1 -1
  224. data/lib/clerk/models/operations/updateoauthapplication_requestbody.rb +9 -5
  225. data/lib/clerk/models/operations/updateoauthapplication_requestbody.rbi +4 -2
  226. data/lib/clerk/models/operations/updateorganization_requestbody.rb +6 -1
  227. data/lib/clerk/models/operations/updateorganization_requestbody.rbi +2 -0
  228. data/lib/clerk/models/operations/updatescimdirectory_request.rb +1 -1
  229. data/lib/clerk/models/operations/updatescimdirectory_requestbody.rb +4 -4
  230. data/lib/clerk/models/operations/updatescimdirectory_response.rb +1 -1
  231. data/lib/clerk/models/operations/updateuser_requestbody.rb +1 -1
  232. data/lib/clerk/models/operations.rb +37 -2
  233. data/lib/clerk/openapiclient.rb +2 -1
  234. data/lib/clerk/phonenumbers.rb +10 -2
  235. data/lib/clerk/scimdirectories.rb +23 -20
  236. data/lib/clerk/sdk.rb +21 -1
  237. data/lib/clerk/sdkconfiguration.rb +3 -3
  238. data/lib/clerk/sessions.rb +146 -0
  239. data/lib/clerk/users.rb +329 -1
  240. data/lib/clerk/utils/utils.rb +6 -2
  241. data/lib/clerk_sdk_ruby.rb +1 -0
  242. data/test/clerk/org_permissions_v2_test.rb +130 -0
  243. metadata +154 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac3aa6fc3521225381e49ee457eabd2a5dc9cdd296d298a78d7d0a9dc299b73a
4
- data.tar.gz: 3ade11f54a6fe5725345bb08c96f22927012c6e7976bde37d7c7283ed3010b39
3
+ metadata.gz: c68b0c8c9ffcef4bc371862734e5f104af79329ff91f8d44af09ac88a20639a0
4
+ data.tar.gz: 693984728b0289453c34ecb712080d2906e848b7d423c7eceb1ae96b0acfa04a
5
5
  SHA512:
6
- metadata.gz: 737766fd549f0d06ba14b7bd32533f7d44c2b419f35fc786ca2117029da51e2034d2699bbd26d1402826d5a2373e87dd070621ed48cdf75922d1560f36d748ff
7
- data.tar.gz: 36e3160d0cf6388a153996ea16a0f5358bdcece5870e34d4011ff22869ac1587add14fd64939181eea15d00b9b406f5a3eb2c3d7756ef0df646c09e8722c5bc9
6
+ metadata.gz: e815d65a530453800d06aff6489ee55f912ff2007b0ffc613b108323e1973a1c33328ea0a4153646755771548fc02fb45d311eafb908cc003db71ba72760aeff
7
+ data.tar.gz: 4f1a8082727a827184f06dccac0fd2222f40f5029c967e0e93dd566ac22298c95acfbf214a663bf320c75b8ee7ac3ae5865d727d526509c4816542b92858afe3
@@ -162,7 +162,7 @@ module Clerk
162
162
  else
163
163
  raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
164
164
  end
165
- elsif Utils.match_status_code(http_response.status, ['400', '402', '422'])
165
+ elsif Utils.match_status_code(http_response.status, ['400', '402', '403', '422'])
166
166
  if Utils.match_content_type(content_type, 'application/json')
167
167
  http_response = @sdk_configuration.hooks.after_success(
168
168
  hook_ctx: SDKHooks::AfterSuccessHookContext.new(
data/lib/clerk/billing.rb CHANGED
@@ -1189,6 +1189,342 @@ module Clerk
1189
1189
 
1190
1190
 
1191
1191
 
1192
+ def apply_subscription_item_discount(body:, subscription_item_id:, retries: nil, timeout_ms: nil, http_headers: nil)
1193
+ # apply_subscription_item_discount - Apply a discount to a subscription item
1194
+ # Applies an existing discount to a subscription item.
1195
+ # Manual application is an override path: self-serve distribution rules are not enforced.
1196
+ # At most one active discount is allowed per subscription item; applying a different
1197
+ # discount replaces the currently active one. Re-applying the same active discount returns a conflict.
1198
+ request = Models::Operations::ApplyBillingSubscriptionItemDiscountRequest.new(
1199
+ subscription_item_id: subscription_item_id,
1200
+ body: body
1201
+ )
1202
+ url, params = @sdk_configuration.get_server_details
1203
+ base_url = Utils.template_url(url, params)
1204
+ url = Utils.generate_url(
1205
+ Models::Operations::ApplyBillingSubscriptionItemDiscountRequest,
1206
+ base_url,
1207
+ '/billing/subscription_items/{subscription_item_id}/discounts',
1208
+ request
1209
+ )
1210
+ headers = {}
1211
+
1212
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
1213
+ headers['content-type'] = req_content_type
1214
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1215
+
1216
+ if form && !form.empty?
1217
+ body = Utils.encode_form(form)
1218
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1219
+ body = URI.encode_www_form(data)
1220
+ else
1221
+ body = data
1222
+ end
1223
+ headers['Accept'] = 'application/json'
1224
+ headers['user-agent'] = @sdk_configuration.user_agent
1225
+ retries ||= @sdk_configuration.retry_config
1226
+ retries ||= Utils::RetryConfig.new(
1227
+ backoff: Utils::BackoffStrategy.new(
1228
+ exponent: 1.5,
1229
+ initial_interval: 500,
1230
+ max_elapsed_time: 3_600_000,
1231
+ max_interval: 60_000
1232
+ ),
1233
+ retry_connection_errors: true,
1234
+ strategy: 'backoff'
1235
+ )
1236
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1237
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
1238
+
1239
+ security = @sdk_configuration.security_source&.call
1240
+
1241
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1242
+ timeout ||= @sdk_configuration.timeout
1243
+
1244
+
1245
+ connection = @sdk_configuration.client.dup
1246
+ connection.use Utils::RetryMiddleware, retry_options
1247
+
1248
+ hook_ctx = SDKHooks::HookContext.new(
1249
+ config: @sdk_configuration,
1250
+ base_url: base_url,
1251
+ oauth2_scopes: nil,
1252
+ operation_id: 'ApplyBillingSubscriptionItemDiscount',
1253
+ security_source: @sdk_configuration.security_source
1254
+ )
1255
+
1256
+ error = nil
1257
+ http_response = nil
1258
+
1259
+
1260
+ begin
1261
+ http_response = connection.post(url) do |req|
1262
+ req.body = body
1263
+ req.headers.merge!(headers)
1264
+ req.options.timeout = timeout unless timeout.nil?
1265
+ Utils.configure_request_security(req, security)
1266
+ http_headers&.each do |key, value|
1267
+ req.headers[key.to_s] = value
1268
+ end
1269
+
1270
+ @sdk_configuration.hooks.before_request(
1271
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1272
+ hook_ctx: hook_ctx
1273
+ ),
1274
+ request: req
1275
+ )
1276
+ end
1277
+ rescue StandardError => e
1278
+ error = e
1279
+ ensure
1280
+ if http_response.nil? || Utils.error_status?(http_response.status)
1281
+ http_response = @sdk_configuration.hooks.after_error(
1282
+ error: error,
1283
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1284
+ hook_ctx: hook_ctx
1285
+ ),
1286
+ response: http_response
1287
+ )
1288
+ else
1289
+ http_response = @sdk_configuration.hooks.after_success(
1290
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1291
+ hook_ctx: hook_ctx
1292
+ ),
1293
+ response: http_response
1294
+ )
1295
+ end
1296
+
1297
+ if http_response.nil?
1298
+ raise error if !error.nil?
1299
+ raise 'no response'
1300
+ end
1301
+ end
1302
+
1303
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1304
+ if Utils.match_status_code(http_response.status, ['200'])
1305
+ if Utils.match_content_type(content_type, 'application/json')
1306
+ http_response = @sdk_configuration.hooks.after_success(
1307
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1308
+ hook_ctx: hook_ctx
1309
+ ),
1310
+ response: http_response
1311
+ )
1312
+ response_data = http_response.env.response_body
1313
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::CommerceDiscountRedemptionResponse)
1314
+ response = Models::Operations::ApplyBillingSubscriptionItemDiscountResponse.new(
1315
+ status_code: http_response.status,
1316
+ content_type: content_type,
1317
+ raw_response: http_response,
1318
+ commerce_discount_redemption_response: obj
1319
+ )
1320
+
1321
+ return response
1322
+ else
1323
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1324
+ end
1325
+ elsif Utils.match_status_code(http_response.status, ['400', '401', '403', '404', '409', '422'])
1326
+ if Utils.match_content_type(content_type, 'application/json')
1327
+ http_response = @sdk_configuration.hooks.after_success(
1328
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1329
+ hook_ctx: hook_ctx
1330
+ ),
1331
+ response: http_response
1332
+ )
1333
+ response_data = http_response.env.response_body
1334
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
1335
+ obj.raw_response = http_response
1336
+ raise obj
1337
+ else
1338
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1339
+ end
1340
+ elsif Utils.match_status_code(http_response.status, ['500'])
1341
+ if Utils.match_content_type(content_type, 'application/json')
1342
+ http_response = @sdk_configuration.hooks.after_success(
1343
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1344
+ hook_ctx: hook_ctx
1345
+ ),
1346
+ response: http_response
1347
+ )
1348
+ response_data = http_response.env.response_body
1349
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
1350
+ obj.raw_response = http_response
1351
+ raise obj
1352
+ else
1353
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1354
+ end
1355
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1356
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1357
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1358
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1359
+ else
1360
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1361
+
1362
+ end
1363
+ end
1364
+
1365
+
1366
+
1367
+ def remove_subscription_item_discount(subscription_item_id:, discount_id:, retries: nil, timeout_ms: nil, http_headers: nil)
1368
+ # remove_subscription_item_discount - Remove a discount from a subscription item
1369
+ # Removes the active discount from a subscription item.
1370
+ # The discount_id must match the subscription item's currently active discount.
1371
+ request = Models::Operations::RemoveBillingSubscriptionItemDiscountRequest.new(
1372
+ subscription_item_id: subscription_item_id,
1373
+ discount_id: discount_id
1374
+ )
1375
+ url, params = @sdk_configuration.get_server_details
1376
+ base_url = Utils.template_url(url, params)
1377
+ url = Utils.generate_url(
1378
+ Models::Operations::RemoveBillingSubscriptionItemDiscountRequest,
1379
+ base_url,
1380
+ '/billing/subscription_items/{subscription_item_id}/discounts/{discount_id}',
1381
+ request
1382
+ )
1383
+ headers = {}
1384
+
1385
+ headers['Accept'] = 'application/json'
1386
+ headers['user-agent'] = @sdk_configuration.user_agent
1387
+ retries ||= @sdk_configuration.retry_config
1388
+ retries ||= Utils::RetryConfig.new(
1389
+ backoff: Utils::BackoffStrategy.new(
1390
+ exponent: 1.5,
1391
+ initial_interval: 500,
1392
+ max_elapsed_time: 3_600_000,
1393
+ max_interval: 60_000
1394
+ ),
1395
+ retry_connection_errors: true,
1396
+ strategy: 'backoff'
1397
+ )
1398
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1399
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
1400
+
1401
+ security = @sdk_configuration.security_source&.call
1402
+
1403
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1404
+ timeout ||= @sdk_configuration.timeout
1405
+
1406
+
1407
+ connection = @sdk_configuration.client.dup
1408
+ connection.use Utils::RetryMiddleware, retry_options
1409
+
1410
+ hook_ctx = SDKHooks::HookContext.new(
1411
+ config: @sdk_configuration,
1412
+ base_url: base_url,
1413
+ oauth2_scopes: nil,
1414
+ operation_id: 'RemoveBillingSubscriptionItemDiscount',
1415
+ security_source: @sdk_configuration.security_source
1416
+ )
1417
+
1418
+ error = nil
1419
+ http_response = nil
1420
+
1421
+
1422
+ begin
1423
+ http_response = connection.delete(url) do |req|
1424
+ req.headers.merge!(headers)
1425
+ req.options.timeout = timeout unless timeout.nil?
1426
+ Utils.configure_request_security(req, security)
1427
+ http_headers&.each do |key, value|
1428
+ req.headers[key.to_s] = value
1429
+ end
1430
+
1431
+ @sdk_configuration.hooks.before_request(
1432
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1433
+ hook_ctx: hook_ctx
1434
+ ),
1435
+ request: req
1436
+ )
1437
+ end
1438
+ rescue StandardError => e
1439
+ error = e
1440
+ ensure
1441
+ if http_response.nil? || Utils.error_status?(http_response.status)
1442
+ http_response = @sdk_configuration.hooks.after_error(
1443
+ error: error,
1444
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1445
+ hook_ctx: hook_ctx
1446
+ ),
1447
+ response: http_response
1448
+ )
1449
+ else
1450
+ http_response = @sdk_configuration.hooks.after_success(
1451
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1452
+ hook_ctx: hook_ctx
1453
+ ),
1454
+ response: http_response
1455
+ )
1456
+ end
1457
+
1458
+ if http_response.nil?
1459
+ raise error if !error.nil?
1460
+ raise 'no response'
1461
+ end
1462
+ end
1463
+
1464
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1465
+ if Utils.match_status_code(http_response.status, ['200'])
1466
+ if Utils.match_content_type(content_type, 'application/json')
1467
+ http_response = @sdk_configuration.hooks.after_success(
1468
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1469
+ hook_ctx: hook_ctx
1470
+ ),
1471
+ response: http_response
1472
+ )
1473
+ response_data = http_response.env.response_body
1474
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::CommerceDiscountRedemptionResponse)
1475
+ response = Models::Operations::RemoveBillingSubscriptionItemDiscountResponse.new(
1476
+ status_code: http_response.status,
1477
+ content_type: content_type,
1478
+ raw_response: http_response,
1479
+ commerce_discount_redemption_response: obj
1480
+ )
1481
+
1482
+ return response
1483
+ else
1484
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1485
+ end
1486
+ elsif Utils.match_status_code(http_response.status, ['400', '401', '403', '404', '409', '422'])
1487
+ if Utils.match_content_type(content_type, 'application/json')
1488
+ http_response = @sdk_configuration.hooks.after_success(
1489
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1490
+ hook_ctx: hook_ctx
1491
+ ),
1492
+ response: http_response
1493
+ )
1494
+ response_data = http_response.env.response_body
1495
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
1496
+ obj.raw_response = http_response
1497
+ raise obj
1498
+ else
1499
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1500
+ end
1501
+ elsif Utils.match_status_code(http_response.status, ['500'])
1502
+ if Utils.match_content_type(content_type, 'application/json')
1503
+ http_response = @sdk_configuration.hooks.after_success(
1504
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1505
+ hook_ctx: hook_ctx
1506
+ ),
1507
+ response: http_response
1508
+ )
1509
+ response_data = http_response.env.response_body
1510
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
1511
+ obj.raw_response = http_response
1512
+ raise obj
1513
+ else
1514
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1515
+ end
1516
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1517
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1518
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1519
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1520
+ else
1521
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1522
+
1523
+ end
1524
+ end
1525
+
1526
+
1527
+
1192
1528
  def list_statements(paginated: nil, limit: nil, offset: nil, retries: nil, timeout_ms: nil, http_headers: nil)
1193
1529
  # list_statements - List all billing statements
1194
1530
  # Returns a list of all billing statements for the instance. The statements are returned sorted by creation date,