clerk-sdk-ruby 7.0.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. checksums.yaml +4 -4
  2. data/lib/clerk/actortokens.rb +10 -10
  3. data/lib/clerk/admin_portal_link_tokens.rb +10 -10
  4. data/lib/clerk/agenttasks.rb +10 -10
  5. data/lib/clerk/allowlistidentifiers.rb +15 -15
  6. data/lib/clerk/api_keys.rb +40 -40
  7. data/lib/clerk/betafeatures.rb +10 -10
  8. data/lib/clerk/billing.rb +52 -52
  9. data/lib/clerk/blocklistidentifiers.rb +15 -15
  10. data/lib/clerk/clients.rb +15 -15
  11. data/lib/clerk/domains.rb +20 -20
  12. data/lib/clerk/emailaddresses.rb +43 -36
  13. data/lib/clerk/emailandsmstemplates.rb +6 -6
  14. data/lib/clerk/emailsmstemplates.rb +21 -21
  15. data/lib/clerk/enterpriseconnections.rb +35 -35
  16. data/lib/clerk/instancesettings.rb +60 -60
  17. data/lib/clerk/invitations.rb +20 -20
  18. data/lib/clerk/jwks.rb +5 -5
  19. data/lib/clerk/jwttemplates.rb +25 -25
  20. data/lib/clerk/m2m.rb +20 -20
  21. data/lib/clerk/machines.rb +45 -45
  22. data/lib/clerk/miscellaneous.rb +5 -5
  23. data/lib/clerk/models/components/algorithm.rb +19 -0
  24. data/lib/clerk/models/components/{clerkerror_meta.rbi → algorithm.rbi} +2 -2
  25. data/lib/clerk/models/components/billingpaymentattempt_totals.rb +1 -1
  26. data/lib/clerk/models/components/clerkerror.rb +1 -1
  27. data/lib/clerk/models/components/commercecreditledgerresponse.rb +3 -7
  28. data/lib/clerk/models/components/commercecreditledgerresponse.rbi +0 -2
  29. data/lib/clerk/models/components/{schemas_commerceperunittotal.rb → commerceperunittotal_2.rb} +2 -2
  30. data/lib/clerk/models/components/{schemas_commerceperunittotal.rbi → commerceperunittotal_2.rbi} +2 -2
  31. data/lib/clerk/models/components/{schemas_commerceperunittotaltier.rb → commerceperunittotaltier_2.rb} +1 -1
  32. data/lib/clerk/models/components/{schemas_commerceperunittotaltier.rbi → commerceperunittotaltier_2.rbi} +2 -2
  33. data/lib/clerk/models/components/{schemas_commerceplan.rb → commerceplan_2.rb} +6 -6
  34. data/lib/clerk/models/components/{schemas_commerceplan.rbi → commerceplan_2.rbi} +2 -2
  35. data/lib/clerk/models/components/{schemas_commerceplan_fee.rb → commerceplan_2_annual_fee.rb} +1 -1
  36. data/lib/clerk/models/components/{schemas_commerceplan_fee.rbi → commerceplan_2_annual_fee.rbi} +2 -2
  37. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_fee.rb → commerceplan_2_annual_monthly_fee.rb} +1 -1
  38. data/lib/clerk/models/components/{schemas_commerceplan_annual_monthly_fee.rbi → commerceplan_2_annual_monthly_fee.rbi} +2 -2
  39. data/lib/clerk/models/components/{schemas_commerceplan_annual_fee.rb → commerceplan_2_fee.rb} +1 -1
  40. data/lib/clerk/models/components/{schemas_commerceplan_annual_fee.rbi → commerceplan_2_fee.rbi} +2 -2
  41. data/lib/clerk/models/components/{schemas_commerceplan_object.rb → commerceplan_2_object.rb} +2 -2
  42. data/lib/clerk/models/components/{clerkerrors_meta.rbi → commerceplan_2_object.rbi} +2 -2
  43. data/lib/clerk/models/components/commercepricetransitiondetails.rb +1 -1
  44. data/lib/clerk/models/components/commercepricetransitionresponse.rb +1 -1
  45. data/lib/clerk/models/components/{schemas_commercesubscriptionitem.rb → commercesubscriptionitem_2.rb} +7 -7
  46. data/lib/clerk/models/components/{schemas_commercesubscriptionitem.rbi → commercesubscriptionitem_2.rbi} +2 -2
  47. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_amount.rb → commercesubscriptionitem_2_amount.rb} +1 -1
  48. data/lib/clerk/models/components/commercesubscriptionitem_2_amount.rbi +19 -0
  49. data/lib/clerk/models/components/{schemas_commerceplan_annual_monthly_fee.rb → commercesubscriptionitem_2_annual_fee.rb} +1 -1
  50. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_fee.rbi → commercesubscriptionitem_2_annual_fee.rbi} +2 -2
  51. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_annual_fee.rb → commercesubscriptionitem_2_annual_monthly_fee.rb} +1 -1
  52. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_amount.rbi → commercesubscriptionitem_2_annual_monthly_fee.rbi} +2 -2
  53. data/lib/clerk/models/components/commercesubscriptionitem_2_fee.rb +44 -0
  54. data/lib/clerk/models/components/commercesubscriptionitem_2_fee.rbi +19 -0
  55. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment.rb → commercesubscriptionitem_2_next_payment.rb} +3 -3
  56. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment.rbi → commercesubscriptionitem_2_next_payment.rbi} +2 -2
  57. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_amount.rb → commercesubscriptionitem_2_next_payment_amount.rb} +1 -1
  58. data/lib/clerk/models/components/commercesubscriptionitem_2_next_payment_amount.rbi +19 -0
  59. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_credits.rb → commercesubscriptionitem_2_next_payment_credits.rb} +3 -3
  60. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_credits.rbi → commercesubscriptionitem_2_next_payment_credits.rbi} +2 -2
  61. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_credits_proration.rb → commercesubscriptionitem_2_next_payment_credits_proration.rb} +1 -1
  62. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_credits_proration.rbi → commercesubscriptionitem_2_next_payment_credits_proration.rbi} +2 -2
  63. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_discounts.rb → commercesubscriptionitem_2_next_payment_discounts.rb} +2 -2
  64. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_discounts.rbi → commercesubscriptionitem_2_next_payment_discounts.rbi} +2 -2
  65. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_discounts_proration.rb → commercesubscriptionitem_2_next_payment_discounts_proration.rb} +1 -1
  66. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_discounts_proration.rbi → commercesubscriptionitem_2_next_payment_discounts_proration.rbi} +2 -2
  67. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_payer.rb → commercesubscriptionitem_2_next_payment_payer.rb} +1 -1
  68. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_payer.rbi → commercesubscriptionitem_2_next_payment_payer.rbi} +2 -2
  69. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_totals.rb → commercesubscriptionitem_2_next_payment_totals.rb} +3 -3
  70. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_totals.rbi → commercesubscriptionitem_2_next_payment_totals.rbi} +2 -2
  71. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_object_commercepayer.rb → commercesubscriptionitem_2_object_commercepayer.rb} +2 -2
  72. data/lib/clerk/models/components/commercesubscriptionitem_2_object_commercepayer.rbi +11 -0
  73. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_object_commerceplan.rb → commercesubscriptionitem_2_object_commerceplan.rb} +2 -2
  74. data/lib/clerk/models/components/commercesubscriptionitem_2_object_commerceplan.rbi +11 -0
  75. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_object_commercesubscriptionitem.rb → commercesubscriptionitem_2_object_commercesubscriptionitem.rb} +2 -2
  76. data/lib/clerk/models/components/commercesubscriptionitem_2_object_commercesubscriptionitem.rbi +11 -0
  77. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_plan.rb → commercesubscriptionitem_2_plan.rb} +6 -6
  78. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_plan.rbi → commercesubscriptionitem_2_plan.rbi} +2 -2
  79. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_plan_period.rb → commercesubscriptionitem_2_plan_period.rb} +2 -2
  80. data/lib/clerk/models/components/commercesubscriptionitem_2_plan_period.rbi +11 -0
  81. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_status.rb → commercesubscriptionitem_2_status.rb} +2 -2
  82. data/lib/clerk/models/components/commercesubscriptionitem_2_status.rbi +11 -0
  83. data/lib/clerk/models/components/commercesubscriptionitem_totals.rb +1 -1
  84. data/lib/clerk/models/components/commercesubscriptionnextpayment.rb +1 -1
  85. data/lib/clerk/models/components/commercesubscriptionnextpayment_totals.rb +1 -1
  86. data/lib/clerk/models/components/emailaddress_verification_saml_clerkerror.rb +1 -1
  87. data/lib/clerk/models/components/enrollment_mode.rb +1 -0
  88. data/lib/clerk/models/components/enterpriseaccount_verification_oauth_clerkerror.rb +1 -1
  89. data/lib/clerk/models/components/enterpriseaccount_verification_saml_clerkerror.rb +1 -1
  90. data/lib/clerk/models/components/enterpriseconnection.rb +6 -2
  91. data/lib/clerk/models/components/enterpriseconnection.rbi +2 -0
  92. data/lib/clerk/models/components/{custom_attribute.rb → enterpriseconnection_custom_attribute.rb} +1 -1
  93. data/lib/clerk/models/components/enterpriseconnection_custom_attribute.rbi +21 -0
  94. data/lib/clerk/models/components/enterpriseconnection_mode.rb +21 -0
  95. data/lib/clerk/models/components/enterpriseconnection_mode.rbi +11 -0
  96. data/lib/clerk/models/components/enterpriseconnection_object.rb +19 -0
  97. data/lib/clerk/models/components/enterpriseconnection_object.rbi +11 -0
  98. data/lib/clerk/models/components/enterpriseconnection_saml_connection.rb +5 -1
  99. data/lib/clerk/models/components/enterpriseconnection_saml_connection.rbi +2 -0
  100. data/lib/clerk/models/components/externalaccountwithverification_verification_oauth_clerkerror.rb +1 -1
  101. data/lib/clerk/models/components/{schemas_featureresponse.rb → featureresponse_2.rb} +2 -2
  102. data/lib/clerk/models/components/{schemas_featureresponse.rbi → featureresponse_2.rbi} +2 -2
  103. data/lib/clerk/models/components/{schemas_featureresponse_object.rb → featureresponse_2_object.rb} +2 -2
  104. data/lib/clerk/models/components/featureresponse_2_object.rbi +11 -0
  105. data/lib/clerk/models/components/instanceprotect.rb +5 -1
  106. data/lib/clerk/models/components/instanceprotect.rbi +2 -0
  107. data/lib/clerk/models/components/instancesettings.rb +4 -1
  108. data/lib/clerk/models/components/login_hint.rb +36 -0
  109. data/lib/clerk/models/components/login_hint.rbi +15 -0
  110. data/lib/clerk/models/components/oauthapplicationsettings.rb +17 -1
  111. data/lib/clerk/models/components/oauthapplicationsettings.rbi +8 -0
  112. data/lib/clerk/models/components/organizationmembershippublicuserdata.rb +5 -1
  113. data/lib/clerk/models/components/organizationmembershippublicuserdata.rbi +2 -0
  114. data/lib/clerk/models/components/payer_commercepayer.rb +1 -1
  115. data/lib/clerk/models/components/payment_type.rb +1 -0
  116. data/lib/clerk/models/components/platform.rb +20 -0
  117. data/lib/clerk/models/components/{samlaccount_meta.rbi → platform.rbi} +2 -2
  118. data/lib/clerk/models/components/samlaccount_clerkerror.rb +1 -1
  119. data/lib/clerk/models/components/samlconnection_1.rb +15 -1
  120. data/lib/clerk/models/components/samlconnection_1.rbi +6 -0
  121. data/lib/clerk/models/components/samlconnection_2.rb +15 -1
  122. data/lib/clerk/models/components/samlconnection_2.rbi +6 -0
  123. data/lib/clerk/models/components/samlconnectionloginhint.rb +36 -0
  124. data/lib/clerk/models/components/samlconnectionloginhint.rbi +15 -0
  125. data/lib/clerk/models/components/samlconnectionloginhint_mode.rb +21 -0
  126. data/lib/clerk/models/components/samlconnectionloginhint_mode.rbi +11 -0
  127. data/lib/clerk/models/components/scimdirectory.rb +80 -0
  128. data/lib/clerk/models/components/scimdirectory.rbi +37 -0
  129. data/lib/clerk/models/components/scimdirectory_custom_attribute.rb +48 -0
  130. data/lib/clerk/models/components/{custom_attribute.rbi → scimdirectory_custom_attribute.rbi} +2 -2
  131. data/lib/clerk/models/components/scimdirectory_list.rb +36 -0
  132. data/lib/clerk/models/components/scimdirectory_list.rbi +15 -0
  133. data/lib/clerk/models/components/scimdirectory_object.rb +19 -0
  134. data/lib/clerk/models/components/scimdirectory_object.rbi +11 -0
  135. data/lib/clerk/models/components/scimgrouprolemapping.rb +64 -0
  136. data/lib/clerk/models/components/scimgrouprolemapping.rbi +29 -0
  137. data/lib/clerk/models/components/scimgrouprolemapping_deleted.rb +43 -0
  138. data/lib/clerk/models/components/scimgrouprolemapping_deleted.rbi +17 -0
  139. data/lib/clerk/models/components/scimgrouprolemapping_deleted_object.rb +19 -0
  140. data/lib/clerk/models/components/scimgrouprolemapping_deleted_object.rbi +11 -0
  141. data/lib/clerk/models/components/scimgrouprolemapping_list.rb +36 -0
  142. data/lib/clerk/models/components/scimgrouprolemapping_list.rbi +15 -0
  143. data/lib/clerk/models/components/scimgrouprolemapping_object.rb +19 -0
  144. data/lib/clerk/models/components/scimgrouprolemapping_object.rbi +11 -0
  145. data/lib/clerk/models/components/seats.rb +1 -1
  146. data/lib/clerk/models/components/trusteddevice.rb +72 -0
  147. data/lib/clerk/models/components/trusteddevice.rbi +33 -0
  148. data/lib/clerk/models/components/trusteddevice_list.rb +36 -0
  149. data/lib/clerk/models/components/trusteddevice_list.rbi +15 -0
  150. data/lib/clerk/models/components/trusteddevice_object.rb +19 -0
  151. data/lib/clerk/models/components/trusteddevice_object.rbi +11 -0
  152. data/lib/clerk/models/components/trusteddevice_status.rb +20 -0
  153. data/lib/clerk/models/components/trusteddevice_status.rbi +11 -0
  154. data/lib/clerk/models/components/verification_from_oauth_clerkerror.rb +1 -1
  155. data/lib/clerk/models/components/verification_google_one_tap_clerkerror.rb +1 -1
  156. data/lib/clerk/models/components.rb +49 -38
  157. data/lib/clerk/models/errors/clerkerrors.rb +1 -1
  158. data/lib/clerk/models/operations/createemailaddress_request.rb +7 -1
  159. data/lib/clerk/models/operations/createemailaddress_request.rbi +2 -0
  160. data/lib/clerk/models/operations/createenterpriseconnection_login_hint.rb +36 -0
  161. data/lib/clerk/models/operations/createenterpriseconnection_login_hint.rbi +15 -0
  162. data/lib/clerk/models/operations/createenterpriseconnection_mode.rb +21 -0
  163. data/lib/clerk/models/operations/createenterpriseconnection_mode.rbi +11 -0
  164. data/lib/clerk/models/operations/createenterpriseconnection_saml.rb +5 -1
  165. data/lib/clerk/models/operations/createenterpriseconnection_saml.rbi +2 -0
  166. data/lib/clerk/models/operations/createorganizationdomain_requestbody.rb +1 -1
  167. data/lib/clerk/models/operations/createsamlconnection_login_hint_1.rb +36 -0
  168. data/lib/clerk/models/operations/createsamlconnection_login_hint_1.rbi +15 -0
  169. data/lib/clerk/models/operations/createsamlconnection_login_hint_2.rb +36 -0
  170. data/lib/clerk/models/operations/createsamlconnection_login_hint_2.rbi +15 -0
  171. data/lib/clerk/models/operations/createsamlconnection_mode_1.rb +21 -0
  172. data/lib/clerk/models/operations/createsamlconnection_mode_1.rbi +11 -0
  173. data/lib/clerk/models/operations/createsamlconnection_mode_2.rb +21 -0
  174. data/lib/clerk/models/operations/createsamlconnection_mode_2.rbi +11 -0
  175. data/lib/clerk/models/operations/createsamlconnection_requestbody_1.rb +5 -1
  176. data/lib/clerk/models/operations/createsamlconnection_requestbody_1.rbi +2 -0
  177. data/lib/clerk/models/operations/createsamlconnection_requestbody_2.rb +5 -1
  178. data/lib/clerk/models/operations/createsamlconnection_requestbody_2.rbi +2 -0
  179. data/lib/clerk/models/operations/createscimdirectory_request.rb +44 -0
  180. data/lib/clerk/models/operations/createscimdirectory_request.rbi +19 -0
  181. data/lib/clerk/models/operations/createscimdirectory_response.rb +44 -0
  182. data/lib/clerk/models/operations/createscimdirectory_response.rbi +19 -0
  183. data/lib/clerk/models/operations/createscimgrouprolemapping_request.rb +36 -0
  184. data/lib/clerk/models/operations/createscimgrouprolemapping_request.rbi +15 -0
  185. data/lib/clerk/models/operations/createscimgrouprolemapping_requestbody.rb +42 -0
  186. data/lib/clerk/models/operations/createscimgrouprolemapping_requestbody.rbi +17 -0
  187. data/lib/clerk/models/operations/createscimgrouprolemapping_response.rb +44 -0
  188. data/lib/clerk/models/operations/createscimgrouprolemapping_response.rbi +19 -0
  189. data/lib/clerk/models/operations/createsignintoken_request.rb +6 -1
  190. data/lib/clerk/models/operations/createsignintoken_request.rbi +2 -0
  191. data/lib/clerk/models/operations/deletescimdirectory_request.rb +32 -0
  192. data/lib/clerk/models/operations/deletescimdirectory_request.rbi +13 -0
  193. data/lib/clerk/models/operations/deletescimdirectory_response.rb +44 -0
  194. data/lib/clerk/models/operations/deletescimdirectory_response.rbi +19 -0
  195. data/lib/clerk/models/operations/deletescimgrouprolemapping_request.rb +36 -0
  196. data/lib/clerk/models/operations/deletescimgrouprolemapping_request.rbi +15 -0
  197. data/lib/clerk/models/operations/deletescimgrouprolemapping_response.rb +44 -0
  198. data/lib/clerk/models/operations/deletescimgrouprolemapping_response.rbi +19 -0
  199. data/lib/clerk/models/operations/enrollment_mode.rb +5 -0
  200. data/lib/clerk/models/operations/extendbillingsubscriptionitemfreetrial_response.rb +4 -4
  201. data/lib/clerk/models/operations/extendbillingsubscriptionitemfreetrial_response.rbi +2 -2
  202. data/lib/clerk/models/operations/getscimdirectory_request.rb +32 -0
  203. data/lib/clerk/models/operations/getscimdirectory_request.rbi +13 -0
  204. data/lib/clerk/models/operations/getscimdirectory_response.rb +44 -0
  205. data/lib/clerk/models/operations/getscimdirectory_response.rbi +19 -0
  206. data/lib/clerk/models/operations/group_role_mapping.rb +44 -0
  207. data/lib/clerk/models/operations/group_role_mapping.rbi +19 -0
  208. data/lib/clerk/models/operations/listallorganizationdomains_request.rb +2 -1
  209. data/lib/clerk/models/operations/listorganizationdomains_request.rb +2 -1
  210. data/lib/clerk/models/operations/listscimdirectories_request.rb +39 -0
  211. data/lib/clerk/models/operations/listscimdirectories_request.rbi +15 -0
  212. data/lib/clerk/models/operations/listscimdirectories_response.rb +44 -0
  213. data/lib/clerk/models/operations/listscimdirectories_response.rbi +19 -0
  214. data/lib/clerk/models/operations/listscimgrouprolemappings_request.rb +32 -0
  215. data/lib/clerk/models/operations/listscimgrouprolemappings_request.rbi +13 -0
  216. data/lib/clerk/models/operations/listscimgrouprolemappings_response.rb +44 -0
  217. data/lib/clerk/models/operations/listscimgrouprolemappings_response.rbi +19 -0
  218. data/lib/clerk/models/operations/listusertrusteddevices_request.rb +32 -0
  219. data/lib/clerk/models/operations/listusertrusteddevices_request.rbi +13 -0
  220. data/lib/clerk/models/operations/listusertrusteddevices_response.rb +44 -0
  221. data/lib/clerk/models/operations/listusertrusteddevices_response.rbi +19 -0
  222. data/lib/clerk/models/operations/mapping.rb +36 -0
  223. data/lib/clerk/models/operations/mapping.rbi +15 -0
  224. data/lib/clerk/models/operations/removeuserpassword_request.rb +36 -0
  225. data/lib/clerk/models/operations/removeuserpassword_request.rbi +15 -0
  226. data/lib/clerk/models/operations/removeuserpassword_requestbody.rb +32 -0
  227. data/lib/clerk/models/operations/removeuserpassword_requestbody.rbi +13 -0
  228. data/lib/clerk/models/operations/removeuserpassword_response.rb +44 -0
  229. data/lib/clerk/models/operations/removeuserpassword_response.rbi +19 -0
  230. data/lib/clerk/models/operations/replacescimgrouprolemappings_request.rb +36 -0
  231. data/lib/clerk/models/operations/replacescimgrouprolemappings_request.rbi +15 -0
  232. data/lib/clerk/models/operations/replacescimgrouprolemappings_requestbody.rb +32 -0
  233. data/lib/clerk/models/operations/replacescimgrouprolemappings_requestbody.rbi +13 -0
  234. data/lib/clerk/models/operations/replacescimgrouprolemappings_response.rb +44 -0
  235. data/lib/clerk/models/operations/replacescimgrouprolemappings_response.rbi +19 -0
  236. data/lib/clerk/models/operations/replaceuseremailaddress_identification_status.rb +10 -2
  237. data/lib/clerk/models/operations/replaceuseremailaddress_requestbody.rb +16 -3
  238. data/lib/clerk/models/operations/replaceuseremailaddress_requestbody.rbi +2 -0
  239. data/lib/clerk/models/operations/replaceuserphonenumber_identification_status.rb +10 -2
  240. data/lib/clerk/models/operations/replaceuserphonenumber_requestbody.rb +9 -2
  241. data/lib/clerk/models/operations/revokeoauthapplicationtoken_request.rb +36 -0
  242. data/lib/clerk/models/operations/revokeoauthapplicationtoken_request.rbi +15 -0
  243. data/lib/clerk/models/operations/revokeoauthapplicationtoken_requestbody.rb +32 -0
  244. data/lib/clerk/models/operations/revokeoauthapplicationtoken_requestbody.rbi +13 -0
  245. data/lib/clerk/models/operations/revokeoauthapplicationtoken_response.rb +40 -0
  246. data/lib/clerk/models/operations/revokeoauthapplicationtoken_response.rbi +17 -0
  247. data/lib/clerk/models/operations/revokeusertrusteddevice_request.rb +36 -0
  248. data/lib/clerk/models/operations/revokeusertrusteddevice_request.rbi +15 -0
  249. data/lib/clerk/models/operations/revokeusertrusteddevice_response.rb +44 -0
  250. data/lib/clerk/models/operations/revokeusertrusteddevice_response.rbi +19 -0
  251. data/lib/clerk/models/operations/rotatescimdirectoryapikey_request.rb +32 -0
  252. data/lib/clerk/models/operations/rotatescimdirectoryapikey_request.rbi +13 -0
  253. data/lib/clerk/models/operations/rotatescimdirectoryapikey_response.rb +44 -0
  254. data/lib/clerk/models/operations/rotatescimdirectoryapikey_response.rbi +19 -0
  255. data/lib/clerk/models/operations/updateemailaddress_requestbody.rb +7 -1
  256. data/lib/clerk/models/operations/updateemailaddress_requestbody.rbi +2 -0
  257. data/lib/clerk/models/operations/updateenterpriseconnection_login_hint.rb +36 -0
  258. data/lib/clerk/models/operations/updateenterpriseconnection_login_hint.rbi +15 -0
  259. data/lib/clerk/models/operations/updateenterpriseconnection_mode.rb +21 -0
  260. data/lib/clerk/models/operations/updateenterpriseconnection_mode.rbi +11 -0
  261. data/lib/clerk/models/operations/updateenterpriseconnection_saml.rb +5 -1
  262. data/lib/clerk/models/operations/updateenterpriseconnection_saml.rbi +2 -0
  263. data/lib/clerk/models/operations/updateinstanceoauthapplicationsettings_request.rb +17 -1
  264. data/lib/clerk/models/operations/updateinstanceoauthapplicationsettings_request.rbi +8 -0
  265. data/lib/clerk/models/operations/updateorganizationdomain_requestbody.rb +1 -1
  266. data/lib/clerk/models/operations/updatesamlconnection_login_hint.rb +36 -0
  267. data/lib/clerk/models/operations/updatesamlconnection_login_hint.rbi +15 -0
  268. data/lib/clerk/models/operations/updatesamlconnection_mode.rb +21 -0
  269. data/lib/clerk/models/operations/updatesamlconnection_mode.rbi +11 -0
  270. data/lib/clerk/models/operations/updatesamlconnection_requestbody.rb +5 -1
  271. data/lib/clerk/models/operations/updatesamlconnection_requestbody.rbi +2 -0
  272. data/lib/clerk/models/operations/updatescimdirectory_request.rb +36 -0
  273. data/lib/clerk/models/operations/updatescimdirectory_request.rbi +15 -0
  274. data/lib/clerk/models/operations/updatescimdirectory_requestbody.rb +49 -0
  275. data/lib/clerk/models/operations/updatescimdirectory_requestbody.rbi +21 -0
  276. data/lib/clerk/models/operations/updatescimdirectory_response.rb +44 -0
  277. data/lib/clerk/models/operations/updatescimdirectory_response.rbi +19 -0
  278. data/lib/clerk/models/operations.rb +45 -0
  279. data/lib/clerk/oauthaccesstokens.rb +5 -5
  280. data/lib/clerk/oauthapplications.rb +185 -35
  281. data/lib/clerk/openapiclient.rb +2 -1
  282. data/lib/clerk/organizationdomains.rb +32 -32
  283. data/lib/clerk/organizationinvitations.rb +35 -35
  284. data/lib/clerk/organizationmemberships.rb +25 -25
  285. data/lib/clerk/organizationpermissions.rb +25 -25
  286. data/lib/clerk/organizationroles.rb +35 -35
  287. data/lib/clerk/organizations.rb +60 -60
  288. data/lib/clerk/phonenumbers.rb +43 -36
  289. data/lib/clerk/proxy.rb +3 -3
  290. data/lib/clerk/proxychecks.rb +5 -5
  291. data/lib/clerk/redirecturls.rb +20 -20
  292. data/lib/clerk/rolesets.rb +35 -35
  293. data/lib/clerk/samlconnections.rb +25 -25
  294. data/lib/clerk/scimdirectories.rb +1531 -0
  295. data/lib/clerk/sdk.rb +23 -5
  296. data/lib/clerk/sdkconfiguration.rb +3 -3
  297. data/lib/clerk/sessions.rb +35 -35
  298. data/lib/clerk/signintokens.rb +11 -11
  299. data/lib/clerk/signups.rb +10 -10
  300. data/lib/clerk/templates.rb +5 -5
  301. data/lib/clerk/testingtokens.rb +5 -5
  302. data/lib/clerk/users.rb +690 -196
  303. data/lib/clerk/utils/retries.rb +43 -1
  304. data/lib/clerk/waitlistentries.rb +30 -30
  305. data/lib/clerk/webhooks.rb +15 -15
  306. data/lib/clerk_sdk_ruby.rb +1 -0
  307. data/test/clerk/jwks_cache_scoping_test.rb +83 -0
  308. data/test/clerk/proxy_test.rb +108 -0
  309. metadata +195 -80
  310. data/lib/clerk/models/components/clerkerror_meta.rb +0 -27
  311. data/lib/clerk/models/components/clerkerrors_meta.rb +0 -27
  312. data/lib/clerk/models/components/emailaddress_verification_saml_meta.rb +0 -27
  313. data/lib/clerk/models/components/emailaddress_verification_saml_meta.rbi +0 -11
  314. data/lib/clerk/models/components/enterpriseaccount_verification_oauth_meta.rb +0 -27
  315. data/lib/clerk/models/components/enterpriseaccount_verification_oauth_meta.rbi +0 -11
  316. data/lib/clerk/models/components/enterpriseaccount_verification_saml_meta.rb +0 -27
  317. data/lib/clerk/models/components/enterpriseaccount_verification_saml_meta.rbi +0 -11
  318. data/lib/clerk/models/components/externalaccountwithverification_verification_oauth_meta.rb +0 -27
  319. data/lib/clerk/models/components/externalaccountwithverification_verification_oauth_meta.rbi +0 -11
  320. data/lib/clerk/models/components/samlaccount_meta.rb +0 -27
  321. data/lib/clerk/models/components/schemas_commerceplan_object.rbi +0 -11
  322. data/lib/clerk/models/components/schemas_commercesubscriptionitem_annual_fee.rbi +0 -19
  323. data/lib/clerk/models/components/schemas_commercesubscriptionitem_annual_monthly_fee.rb +0 -44
  324. data/lib/clerk/models/components/schemas_commercesubscriptionitem_annual_monthly_fee.rbi +0 -19
  325. data/lib/clerk/models/components/schemas_commercesubscriptionitem_next_payment_amount.rbi +0 -19
  326. data/lib/clerk/models/components/schemas_commercesubscriptionitem_object_commercepayer.rbi +0 -11
  327. data/lib/clerk/models/components/schemas_commercesubscriptionitem_object_commerceplan.rbi +0 -11
  328. data/lib/clerk/models/components/schemas_commercesubscriptionitem_object_commercesubscriptionitem.rbi +0 -11
  329. data/lib/clerk/models/components/schemas_commercesubscriptionitem_plan_period.rbi +0 -11
  330. data/lib/clerk/models/components/schemas_commercesubscriptionitem_status.rbi +0 -11
  331. data/lib/clerk/models/components/schemas_featureresponse_object.rbi +0 -11
  332. data/lib/clerk/models/components/verification_from_oauth_meta.rb +0 -27
  333. data/lib/clerk/models/components/verification_from_oauth_meta.rbi +0 -11
  334. data/lib/clerk/models/components/verification_google_one_tap_meta.rb +0 -27
  335. data/lib/clerk/models/components/verification_google_one_tap_meta.rbi +0 -11
@@ -0,0 +1,1531 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require_relative 'sdk_hooks/hooks'
10
+ require_relative 'utils/retries'
11
+
12
+ module Clerk
13
+
14
+ class ScimDirectories
15
+
16
+
17
+
18
+
19
+
20
+ def initialize(sdk_config)
21
+ @sdk_configuration = sdk_config
22
+
23
+ end
24
+
25
+
26
+ def get_url(base_url:, url_variables: nil)
27
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
28
+
29
+ if base_url.nil?
30
+ base_url = sd_base_url
31
+ end
32
+
33
+ if url_variables.nil?
34
+ url_variables = sd_options
35
+ end
36
+
37
+ return Utils.template_url base_url, url_variables
38
+ end
39
+
40
+
41
+
42
+
43
+
44
+ def list(limit: nil, offset: nil, retries: nil, timeout_ms: nil, http_headers: nil)
45
+ # list - List all SCIM directories
46
+ # Returns a list of all SCIM directories for the instance.
47
+ request = Models::Operations::ListSCIMDirectoriesRequest.new(
48
+ limit: limit,
49
+ offset: offset
50
+ )
51
+ url, params = @sdk_configuration.get_server_details
52
+ base_url = Utils.template_url(url, params)
53
+ url = "#{base_url}/scim_directories"
54
+ headers = {}
55
+
56
+ query_params = Utils.get_query_params(Models::Operations::ListSCIMDirectoriesRequest, request, nil)
57
+ headers['Accept'] = 'application/json'
58
+ headers['user-agent'] = @sdk_configuration.user_agent
59
+ retries ||= @sdk_configuration.retry_config
60
+ retries ||= Utils::RetryConfig.new(
61
+ backoff: Utils::BackoffStrategy.new(
62
+ exponent: 1.5,
63
+ initial_interval: 500,
64
+ max_elapsed_time: 3_600_000,
65
+ max_interval: 60_000
66
+ ),
67
+ retry_connection_errors: true,
68
+ strategy: 'backoff'
69
+ )
70
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
71
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
72
+
73
+ security = @sdk_configuration.security_source&.call
74
+
75
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
76
+ timeout ||= @sdk_configuration.timeout
77
+
78
+
79
+ connection = @sdk_configuration.client.dup
80
+ connection.use Utils::RetryMiddleware, retry_options
81
+
82
+ hook_ctx = SDKHooks::HookContext.new(
83
+ config: @sdk_configuration,
84
+ base_url: base_url,
85
+ oauth2_scopes: nil,
86
+ operation_id: 'ListSCIMDirectories',
87
+ security_source: @sdk_configuration.security_source
88
+ )
89
+
90
+ error = nil
91
+ http_response = nil
92
+
93
+
94
+ begin
95
+ http_response = connection.get(url) do |req|
96
+ req.headers.merge!(headers)
97
+ req.options.timeout = timeout unless timeout.nil?
98
+ req.params = query_params
99
+ Utils.configure_request_security(req, security)
100
+ http_headers&.each do |key, value|
101
+ req.headers[key.to_s] = value
102
+ end
103
+
104
+ @sdk_configuration.hooks.before_request(
105
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
106
+ hook_ctx: hook_ctx
107
+ ),
108
+ request: req
109
+ )
110
+ end
111
+ rescue StandardError => e
112
+ error = e
113
+ ensure
114
+ if http_response.nil? || Utils.error_status?(http_response.status)
115
+ http_response = @sdk_configuration.hooks.after_error(
116
+ error: error,
117
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
118
+ hook_ctx: hook_ctx
119
+ ),
120
+ response: http_response
121
+ )
122
+ else
123
+ http_response = @sdk_configuration.hooks.after_success(
124
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
125
+ hook_ctx: hook_ctx
126
+ ),
127
+ response: http_response
128
+ )
129
+ end
130
+
131
+ if http_response.nil?
132
+ raise error if !error.nil?
133
+ raise 'no response'
134
+ end
135
+ end
136
+
137
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
138
+ if Utils.match_status_code(http_response.status, ['200'])
139
+ if Utils.match_content_type(content_type, 'application/json')
140
+ http_response = @sdk_configuration.hooks.after_success(
141
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
142
+ hook_ctx: hook_ctx
143
+ ),
144
+ response: http_response
145
+ )
146
+ response_data = http_response.env.response_body
147
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::SCIMDirectoryList)
148
+ response = Models::Operations::ListSCIMDirectoriesResponse.new(
149
+ status_code: http_response.status,
150
+ content_type: content_type,
151
+ raw_response: http_response,
152
+ scim_directory_list: obj
153
+ )
154
+
155
+ return response
156
+ else
157
+ 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'
158
+ end
159
+ elsif Utils.match_status_code(http_response.status, ['401', '403'])
160
+ if Utils.match_content_type(content_type, 'application/json')
161
+ http_response = @sdk_configuration.hooks.after_success(
162
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
163
+ hook_ctx: hook_ctx
164
+ ),
165
+ response: http_response
166
+ )
167
+ response_data = http_response.env.response_body
168
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
169
+ obj.raw_response = http_response
170
+ raise obj
171
+ else
172
+ 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'
173
+ end
174
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
175
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
176
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
177
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
178
+ else
179
+ 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'
180
+
181
+ end
182
+ end
183
+
184
+
185
+
186
+ def create(request: nil, retries: nil, timeout_ms: nil, http_headers: nil)
187
+ # create - Create a SCIM directory
188
+ # Create a new SCIM directory for the instance.
189
+ url, params = @sdk_configuration.get_server_details
190
+ base_url = Utils.template_url(url, params)
191
+ url = "#{base_url}/scim_directories"
192
+ headers = {}
193
+
194
+ req_content_type, data, form = Utils.serialize_request_body(request, false, true, :request, :json)
195
+ headers['content-type'] = req_content_type
196
+
197
+ if form && !form.empty?
198
+ body = Utils.encode_form(form)
199
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
200
+ body = URI.encode_www_form(data)
201
+ else
202
+ body = data
203
+ end
204
+ headers['Accept'] = 'application/json'
205
+ headers['user-agent'] = @sdk_configuration.user_agent
206
+ retries ||= @sdk_configuration.retry_config
207
+ retries ||= Utils::RetryConfig.new(
208
+ backoff: Utils::BackoffStrategy.new(
209
+ exponent: 1.5,
210
+ initial_interval: 500,
211
+ max_elapsed_time: 3_600_000,
212
+ max_interval: 60_000
213
+ ),
214
+ retry_connection_errors: true,
215
+ strategy: 'backoff'
216
+ )
217
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
218
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
219
+
220
+ security = @sdk_configuration.security_source&.call
221
+
222
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
223
+ timeout ||= @sdk_configuration.timeout
224
+
225
+
226
+ connection = @sdk_configuration.client.dup
227
+ connection.use Utils::RetryMiddleware, retry_options
228
+
229
+ hook_ctx = SDKHooks::HookContext.new(
230
+ config: @sdk_configuration,
231
+ base_url: base_url,
232
+ oauth2_scopes: nil,
233
+ operation_id: 'CreateSCIMDirectory',
234
+ security_source: @sdk_configuration.security_source
235
+ )
236
+
237
+ error = nil
238
+ http_response = nil
239
+
240
+
241
+ begin
242
+ http_response = connection.post(url) do |req|
243
+ req.body = body
244
+ req.headers.merge!(headers)
245
+ req.options.timeout = timeout unless timeout.nil?
246
+ Utils.configure_request_security(req, security)
247
+ http_headers&.each do |key, value|
248
+ req.headers[key.to_s] = value
249
+ end
250
+
251
+ @sdk_configuration.hooks.before_request(
252
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
253
+ hook_ctx: hook_ctx
254
+ ),
255
+ request: req
256
+ )
257
+ end
258
+ rescue StandardError => e
259
+ error = e
260
+ ensure
261
+ if http_response.nil? || Utils.error_status?(http_response.status)
262
+ http_response = @sdk_configuration.hooks.after_error(
263
+ error: error,
264
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
265
+ hook_ctx: hook_ctx
266
+ ),
267
+ response: http_response
268
+ )
269
+ else
270
+ http_response = @sdk_configuration.hooks.after_success(
271
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
272
+ hook_ctx: hook_ctx
273
+ ),
274
+ response: http_response
275
+ )
276
+ end
277
+
278
+ if http_response.nil?
279
+ raise error if !error.nil?
280
+ raise 'no response'
281
+ end
282
+ end
283
+
284
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
285
+ if Utils.match_status_code(http_response.status, ['200'])
286
+ if Utils.match_content_type(content_type, 'application/json')
287
+ http_response = @sdk_configuration.hooks.after_success(
288
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
289
+ hook_ctx: hook_ctx
290
+ ),
291
+ response: http_response
292
+ )
293
+ response_data = http_response.env.response_body
294
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::SCIMDirectory)
295
+ response = Models::Operations::CreateSCIMDirectoryResponse.new(
296
+ status_code: http_response.status,
297
+ content_type: content_type,
298
+ raw_response: http_response,
299
+ scim_directory: obj
300
+ )
301
+
302
+ return response
303
+ else
304
+ 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'
305
+ end
306
+ elsif Utils.match_status_code(http_response.status, ['400', '401', '403', '422'])
307
+ if Utils.match_content_type(content_type, 'application/json')
308
+ http_response = @sdk_configuration.hooks.after_success(
309
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
310
+ hook_ctx: hook_ctx
311
+ ),
312
+ response: http_response
313
+ )
314
+ response_data = http_response.env.response_body
315
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
316
+ obj.raw_response = http_response
317
+ raise obj
318
+ else
319
+ 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'
320
+ end
321
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
322
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
323
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
324
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
325
+ else
326
+ 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'
327
+
328
+ end
329
+ end
330
+
331
+
332
+
333
+ def get(scim_directory_id:, retries: nil, timeout_ms: nil, http_headers: nil)
334
+ # get - Retrieve a SCIM directory
335
+ # Returns the details of a SCIM directory.
336
+ request = Models::Operations::GetSCIMDirectoryRequest.new(
337
+ scim_directory_id: scim_directory_id
338
+ )
339
+ url, params = @sdk_configuration.get_server_details
340
+ base_url = Utils.template_url(url, params)
341
+ url = Utils.generate_url(
342
+ Models::Operations::GetSCIMDirectoryRequest,
343
+ base_url,
344
+ '/scim_directories/{scim_directory_id}',
345
+ request
346
+ )
347
+ headers = {}
348
+
349
+ headers['Accept'] = 'application/json'
350
+ headers['user-agent'] = @sdk_configuration.user_agent
351
+ retries ||= @sdk_configuration.retry_config
352
+ retries ||= Utils::RetryConfig.new(
353
+ backoff: Utils::BackoffStrategy.new(
354
+ exponent: 1.5,
355
+ initial_interval: 500,
356
+ max_elapsed_time: 3_600_000,
357
+ max_interval: 60_000
358
+ ),
359
+ retry_connection_errors: true,
360
+ strategy: 'backoff'
361
+ )
362
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
363
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
364
+
365
+ security = @sdk_configuration.security_source&.call
366
+
367
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
368
+ timeout ||= @sdk_configuration.timeout
369
+
370
+
371
+ connection = @sdk_configuration.client.dup
372
+ connection.use Utils::RetryMiddleware, retry_options
373
+
374
+ hook_ctx = SDKHooks::HookContext.new(
375
+ config: @sdk_configuration,
376
+ base_url: base_url,
377
+ oauth2_scopes: nil,
378
+ operation_id: 'GetSCIMDirectory',
379
+ security_source: @sdk_configuration.security_source
380
+ )
381
+
382
+ error = nil
383
+ http_response = nil
384
+
385
+
386
+ begin
387
+ http_response = connection.get(url) do |req|
388
+ req.headers.merge!(headers)
389
+ req.options.timeout = timeout unless timeout.nil?
390
+ Utils.configure_request_security(req, security)
391
+ http_headers&.each do |key, value|
392
+ req.headers[key.to_s] = value
393
+ end
394
+
395
+ @sdk_configuration.hooks.before_request(
396
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
397
+ hook_ctx: hook_ctx
398
+ ),
399
+ request: req
400
+ )
401
+ end
402
+ rescue StandardError => e
403
+ error = e
404
+ ensure
405
+ if http_response.nil? || Utils.error_status?(http_response.status)
406
+ http_response = @sdk_configuration.hooks.after_error(
407
+ error: error,
408
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
409
+ hook_ctx: hook_ctx
410
+ ),
411
+ response: http_response
412
+ )
413
+ else
414
+ http_response = @sdk_configuration.hooks.after_success(
415
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
416
+ hook_ctx: hook_ctx
417
+ ),
418
+ response: http_response
419
+ )
420
+ end
421
+
422
+ if http_response.nil?
423
+ raise error if !error.nil?
424
+ raise 'no response'
425
+ end
426
+ end
427
+
428
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
429
+ if Utils.match_status_code(http_response.status, ['200'])
430
+ if Utils.match_content_type(content_type, 'application/json')
431
+ http_response = @sdk_configuration.hooks.after_success(
432
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
433
+ hook_ctx: hook_ctx
434
+ ),
435
+ response: http_response
436
+ )
437
+ response_data = http_response.env.response_body
438
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::SCIMDirectory)
439
+ response = Models::Operations::GetSCIMDirectoryResponse.new(
440
+ status_code: http_response.status,
441
+ content_type: content_type,
442
+ raw_response: http_response,
443
+ scim_directory: obj
444
+ )
445
+
446
+ return response
447
+ else
448
+ 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'
449
+ end
450
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404'])
451
+ if Utils.match_content_type(content_type, 'application/json')
452
+ http_response = @sdk_configuration.hooks.after_success(
453
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
454
+ hook_ctx: hook_ctx
455
+ ),
456
+ response: http_response
457
+ )
458
+ response_data = http_response.env.response_body
459
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
460
+ obj.raw_response = http_response
461
+ raise obj
462
+ else
463
+ 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'
464
+ end
465
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
466
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
467
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
468
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
469
+ else
470
+ 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'
471
+
472
+ end
473
+ end
474
+
475
+
476
+
477
+ def update(scim_directory_id:, body: nil, retries: nil, timeout_ms: nil, http_headers: nil)
478
+ # update - Update a SCIM directory
479
+ # Updates a SCIM directory.
480
+ request = Models::Operations::UpdateSCIMDirectoryRequest.new(
481
+ scim_directory_id: scim_directory_id,
482
+ body: body
483
+ )
484
+ url, params = @sdk_configuration.get_server_details
485
+ base_url = Utils.template_url(url, params)
486
+ url = Utils.generate_url(
487
+ Models::Operations::UpdateSCIMDirectoryRequest,
488
+ base_url,
489
+ '/scim_directories/{scim_directory_id}',
490
+ request
491
+ )
492
+ headers = {}
493
+
494
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
495
+ headers['content-type'] = req_content_type
496
+
497
+ if form && !form.empty?
498
+ body = Utils.encode_form(form)
499
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
500
+ body = URI.encode_www_form(data)
501
+ else
502
+ body = data
503
+ end
504
+ headers['Accept'] = 'application/json'
505
+ headers['user-agent'] = @sdk_configuration.user_agent
506
+ retries ||= @sdk_configuration.retry_config
507
+ retries ||= Utils::RetryConfig.new(
508
+ backoff: Utils::BackoffStrategy.new(
509
+ exponent: 1.5,
510
+ initial_interval: 500,
511
+ max_elapsed_time: 3_600_000,
512
+ max_interval: 60_000
513
+ ),
514
+ retry_connection_errors: true,
515
+ strategy: 'backoff'
516
+ )
517
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
518
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
519
+
520
+ security = @sdk_configuration.security_source&.call
521
+
522
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
523
+ timeout ||= @sdk_configuration.timeout
524
+
525
+
526
+ connection = @sdk_configuration.client.dup
527
+ connection.use Utils::RetryMiddleware, retry_options
528
+
529
+ hook_ctx = SDKHooks::HookContext.new(
530
+ config: @sdk_configuration,
531
+ base_url: base_url,
532
+ oauth2_scopes: nil,
533
+ operation_id: 'UpdateSCIMDirectory',
534
+ security_source: @sdk_configuration.security_source
535
+ )
536
+
537
+ error = nil
538
+ http_response = nil
539
+
540
+
541
+ begin
542
+ http_response = connection.patch(url) do |req|
543
+ req.body = body
544
+ req.headers.merge!(headers)
545
+ req.options.timeout = timeout unless timeout.nil?
546
+ Utils.configure_request_security(req, security)
547
+ http_headers&.each do |key, value|
548
+ req.headers[key.to_s] = value
549
+ end
550
+
551
+ @sdk_configuration.hooks.before_request(
552
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
553
+ hook_ctx: hook_ctx
554
+ ),
555
+ request: req
556
+ )
557
+ end
558
+ rescue StandardError => e
559
+ error = e
560
+ ensure
561
+ if http_response.nil? || Utils.error_status?(http_response.status)
562
+ http_response = @sdk_configuration.hooks.after_error(
563
+ error: error,
564
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
565
+ hook_ctx: hook_ctx
566
+ ),
567
+ response: http_response
568
+ )
569
+ else
570
+ http_response = @sdk_configuration.hooks.after_success(
571
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
572
+ hook_ctx: hook_ctx
573
+ ),
574
+ response: http_response
575
+ )
576
+ end
577
+
578
+ if http_response.nil?
579
+ raise error if !error.nil?
580
+ raise 'no response'
581
+ end
582
+ end
583
+
584
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
585
+ if Utils.match_status_code(http_response.status, ['200'])
586
+ if Utils.match_content_type(content_type, 'application/json')
587
+ http_response = @sdk_configuration.hooks.after_success(
588
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
589
+ hook_ctx: hook_ctx
590
+ ),
591
+ response: http_response
592
+ )
593
+ response_data = http_response.env.response_body
594
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::SCIMDirectory)
595
+ response = Models::Operations::UpdateSCIMDirectoryResponse.new(
596
+ status_code: http_response.status,
597
+ content_type: content_type,
598
+ raw_response: http_response,
599
+ scim_directory: obj
600
+ )
601
+
602
+ return response
603
+ else
604
+ 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'
605
+ end
606
+ elsif Utils.match_status_code(http_response.status, ['400', '401', '403', '404', '422'])
607
+ if Utils.match_content_type(content_type, 'application/json')
608
+ http_response = @sdk_configuration.hooks.after_success(
609
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
610
+ hook_ctx: hook_ctx
611
+ ),
612
+ response: http_response
613
+ )
614
+ response_data = http_response.env.response_body
615
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
616
+ obj.raw_response = http_response
617
+ raise obj
618
+ else
619
+ 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'
620
+ end
621
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
622
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
623
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
624
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
625
+ else
626
+ 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'
627
+
628
+ end
629
+ end
630
+
631
+
632
+
633
+ def delete(scim_directory_id:, retries: nil, timeout_ms: nil, http_headers: nil)
634
+ # delete - Delete a SCIM directory
635
+ # Deletes a SCIM directory and stops provisioning for it. SCIM requests authenticated
636
+ # with the directory's API key are rejected afterwards.
637
+ request = Models::Operations::DeleteSCIMDirectoryRequest.new(
638
+ scim_directory_id: scim_directory_id
639
+ )
640
+ url, params = @sdk_configuration.get_server_details
641
+ base_url = Utils.template_url(url, params)
642
+ url = Utils.generate_url(
643
+ Models::Operations::DeleteSCIMDirectoryRequest,
644
+ base_url,
645
+ '/scim_directories/{scim_directory_id}',
646
+ request
647
+ )
648
+ headers = {}
649
+
650
+ headers['Accept'] = 'application/json'
651
+ headers['user-agent'] = @sdk_configuration.user_agent
652
+ retries ||= @sdk_configuration.retry_config
653
+ retries ||= Utils::RetryConfig.new(
654
+ backoff: Utils::BackoffStrategy.new(
655
+ exponent: 1.5,
656
+ initial_interval: 500,
657
+ max_elapsed_time: 3_600_000,
658
+ max_interval: 60_000
659
+ ),
660
+ retry_connection_errors: true,
661
+ strategy: 'backoff'
662
+ )
663
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
664
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
665
+
666
+ security = @sdk_configuration.security_source&.call
667
+
668
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
669
+ timeout ||= @sdk_configuration.timeout
670
+
671
+
672
+ connection = @sdk_configuration.client.dup
673
+ connection.use Utils::RetryMiddleware, retry_options
674
+
675
+ hook_ctx = SDKHooks::HookContext.new(
676
+ config: @sdk_configuration,
677
+ base_url: base_url,
678
+ oauth2_scopes: nil,
679
+ operation_id: 'DeleteSCIMDirectory',
680
+ security_source: @sdk_configuration.security_source
681
+ )
682
+
683
+ error = nil
684
+ http_response = nil
685
+
686
+
687
+ begin
688
+ http_response = connection.delete(url) do |req|
689
+ req.headers.merge!(headers)
690
+ req.options.timeout = timeout unless timeout.nil?
691
+ Utils.configure_request_security(req, security)
692
+ http_headers&.each do |key, value|
693
+ req.headers[key.to_s] = value
694
+ end
695
+
696
+ @sdk_configuration.hooks.before_request(
697
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
698
+ hook_ctx: hook_ctx
699
+ ),
700
+ request: req
701
+ )
702
+ end
703
+ rescue StandardError => e
704
+ error = e
705
+ ensure
706
+ if http_response.nil? || Utils.error_status?(http_response.status)
707
+ http_response = @sdk_configuration.hooks.after_error(
708
+ error: error,
709
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
710
+ hook_ctx: hook_ctx
711
+ ),
712
+ response: http_response
713
+ )
714
+ else
715
+ http_response = @sdk_configuration.hooks.after_success(
716
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
717
+ hook_ctx: hook_ctx
718
+ ),
719
+ response: http_response
720
+ )
721
+ end
722
+
723
+ if http_response.nil?
724
+ raise error if !error.nil?
725
+ raise 'no response'
726
+ end
727
+ end
728
+
729
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
730
+ if Utils.match_status_code(http_response.status, ['200'])
731
+ if Utils.match_content_type(content_type, 'application/json')
732
+ http_response = @sdk_configuration.hooks.after_success(
733
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
734
+ hook_ctx: hook_ctx
735
+ ),
736
+ response: http_response
737
+ )
738
+ response_data = http_response.env.response_body
739
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::DeletedObject)
740
+ response = Models::Operations::DeleteSCIMDirectoryResponse.new(
741
+ status_code: http_response.status,
742
+ content_type: content_type,
743
+ raw_response: http_response,
744
+ deleted_object: obj
745
+ )
746
+
747
+ return response
748
+ else
749
+ 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'
750
+ end
751
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404'])
752
+ if Utils.match_content_type(content_type, 'application/json')
753
+ http_response = @sdk_configuration.hooks.after_success(
754
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
755
+ hook_ctx: hook_ctx
756
+ ),
757
+ response: http_response
758
+ )
759
+ response_data = http_response.env.response_body
760
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
761
+ obj.raw_response = http_response
762
+ raise obj
763
+ else
764
+ 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'
765
+ end
766
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
767
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
768
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
769
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
770
+ else
771
+ 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'
772
+
773
+ end
774
+ end
775
+
776
+
777
+
778
+ def rotate_api_key(scim_directory_id:, retries: nil, timeout_ms: nil, http_headers: nil)
779
+ # rotate_api_key - Rotate a SCIM directory's API key
780
+ # Generates a new API key for the SCIM directory and returns it in the `api_key` field.
781
+ # This is the only way to obtain the key after creation, so make sure to update it in
782
+ # your identity provider. The previous key remains valid for a short grace period before
783
+ # it expires.
784
+ request = Models::Operations::RotateSCIMDirectoryAPIKeyRequest.new(
785
+ scim_directory_id: scim_directory_id
786
+ )
787
+ url, params = @sdk_configuration.get_server_details
788
+ base_url = Utils.template_url(url, params)
789
+ url = Utils.generate_url(
790
+ Models::Operations::RotateSCIMDirectoryAPIKeyRequest,
791
+ base_url,
792
+ '/scim_directories/{scim_directory_id}/rotate_api_key',
793
+ request
794
+ )
795
+ headers = {}
796
+
797
+ headers['Accept'] = 'application/json'
798
+ headers['user-agent'] = @sdk_configuration.user_agent
799
+ retries ||= @sdk_configuration.retry_config
800
+ retries ||= Utils::RetryConfig.new(
801
+ backoff: Utils::BackoffStrategy.new(
802
+ exponent: 1.5,
803
+ initial_interval: 500,
804
+ max_elapsed_time: 3_600_000,
805
+ max_interval: 60_000
806
+ ),
807
+ retry_connection_errors: true,
808
+ strategy: 'backoff'
809
+ )
810
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
811
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
812
+
813
+ security = @sdk_configuration.security_source&.call
814
+
815
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
816
+ timeout ||= @sdk_configuration.timeout
817
+
818
+
819
+ connection = @sdk_configuration.client.dup
820
+ connection.use Utils::RetryMiddleware, retry_options
821
+
822
+ hook_ctx = SDKHooks::HookContext.new(
823
+ config: @sdk_configuration,
824
+ base_url: base_url,
825
+ oauth2_scopes: nil,
826
+ operation_id: 'RotateSCIMDirectoryAPIKey',
827
+ security_source: @sdk_configuration.security_source
828
+ )
829
+
830
+ error = nil
831
+ http_response = nil
832
+
833
+
834
+ begin
835
+ http_response = connection.post(url) do |req|
836
+ req.headers.merge!(headers)
837
+ req.options.timeout = timeout unless timeout.nil?
838
+ Utils.configure_request_security(req, security)
839
+ http_headers&.each do |key, value|
840
+ req.headers[key.to_s] = value
841
+ end
842
+
843
+ @sdk_configuration.hooks.before_request(
844
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
845
+ hook_ctx: hook_ctx
846
+ ),
847
+ request: req
848
+ )
849
+ end
850
+ rescue StandardError => e
851
+ error = e
852
+ ensure
853
+ if http_response.nil? || Utils.error_status?(http_response.status)
854
+ http_response = @sdk_configuration.hooks.after_error(
855
+ error: error,
856
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
857
+ hook_ctx: hook_ctx
858
+ ),
859
+ response: http_response
860
+ )
861
+ else
862
+ http_response = @sdk_configuration.hooks.after_success(
863
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
864
+ hook_ctx: hook_ctx
865
+ ),
866
+ response: http_response
867
+ )
868
+ end
869
+
870
+ if http_response.nil?
871
+ raise error if !error.nil?
872
+ raise 'no response'
873
+ end
874
+ end
875
+
876
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
877
+ if Utils.match_status_code(http_response.status, ['200'])
878
+ if Utils.match_content_type(content_type, 'application/json')
879
+ http_response = @sdk_configuration.hooks.after_success(
880
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
881
+ hook_ctx: hook_ctx
882
+ ),
883
+ response: http_response
884
+ )
885
+ response_data = http_response.env.response_body
886
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::SCIMDirectory)
887
+ response = Models::Operations::RotateSCIMDirectoryAPIKeyResponse.new(
888
+ status_code: http_response.status,
889
+ content_type: content_type,
890
+ raw_response: http_response,
891
+ scim_directory: obj
892
+ )
893
+
894
+ return response
895
+ else
896
+ 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'
897
+ end
898
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404'])
899
+ if Utils.match_content_type(content_type, 'application/json')
900
+ http_response = @sdk_configuration.hooks.after_success(
901
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
902
+ hook_ctx: hook_ctx
903
+ ),
904
+ response: http_response
905
+ )
906
+ response_data = http_response.env.response_body
907
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
908
+ obj.raw_response = http_response
909
+ raise obj
910
+ else
911
+ 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'
912
+ end
913
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
914
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
915
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
916
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
917
+ else
918
+ 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'
919
+
920
+ end
921
+ end
922
+
923
+
924
+
925
+ def list_group_role_mappings(scim_directory_id:, retries: nil, timeout_ms: nil, http_headers: nil)
926
+ # list_group_role_mappings - List SCIM group role mappings
927
+ # Returns the list of SCIM group to organization role mappings for a SCIM directory, ordered by precedence.
928
+ request = Models::Operations::ListSCIMGroupRoleMappingsRequest.new(
929
+ scim_directory_id: scim_directory_id
930
+ )
931
+ url, params = @sdk_configuration.get_server_details
932
+ base_url = Utils.template_url(url, params)
933
+ url = Utils.generate_url(
934
+ Models::Operations::ListSCIMGroupRoleMappingsRequest,
935
+ base_url,
936
+ '/scim_directories/{scim_directory_id}/group_role_mappings',
937
+ request
938
+ )
939
+ headers = {}
940
+
941
+ headers['Accept'] = 'application/json'
942
+ headers['user-agent'] = @sdk_configuration.user_agent
943
+ retries ||= @sdk_configuration.retry_config
944
+ retries ||= Utils::RetryConfig.new(
945
+ backoff: Utils::BackoffStrategy.new(
946
+ exponent: 1.5,
947
+ initial_interval: 500,
948
+ max_elapsed_time: 3_600_000,
949
+ max_interval: 60_000
950
+ ),
951
+ retry_connection_errors: true,
952
+ strategy: 'backoff'
953
+ )
954
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
955
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
956
+
957
+ security = @sdk_configuration.security_source&.call
958
+
959
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
960
+ timeout ||= @sdk_configuration.timeout
961
+
962
+
963
+ connection = @sdk_configuration.client.dup
964
+ connection.use Utils::RetryMiddleware, retry_options
965
+
966
+ hook_ctx = SDKHooks::HookContext.new(
967
+ config: @sdk_configuration,
968
+ base_url: base_url,
969
+ oauth2_scopes: nil,
970
+ operation_id: 'ListSCIMGroupRoleMappings',
971
+ security_source: @sdk_configuration.security_source
972
+ )
973
+
974
+ error = nil
975
+ http_response = nil
976
+
977
+
978
+ begin
979
+ http_response = connection.get(url) do |req|
980
+ req.headers.merge!(headers)
981
+ req.options.timeout = timeout unless timeout.nil?
982
+ Utils.configure_request_security(req, security)
983
+ http_headers&.each do |key, value|
984
+ req.headers[key.to_s] = value
985
+ end
986
+
987
+ @sdk_configuration.hooks.before_request(
988
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
989
+ hook_ctx: hook_ctx
990
+ ),
991
+ request: req
992
+ )
993
+ end
994
+ rescue StandardError => e
995
+ error = e
996
+ ensure
997
+ if http_response.nil? || Utils.error_status?(http_response.status)
998
+ http_response = @sdk_configuration.hooks.after_error(
999
+ error: error,
1000
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1001
+ hook_ctx: hook_ctx
1002
+ ),
1003
+ response: http_response
1004
+ )
1005
+ else
1006
+ http_response = @sdk_configuration.hooks.after_success(
1007
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1008
+ hook_ctx: hook_ctx
1009
+ ),
1010
+ response: http_response
1011
+ )
1012
+ end
1013
+
1014
+ if http_response.nil?
1015
+ raise error if !error.nil?
1016
+ raise 'no response'
1017
+ end
1018
+ end
1019
+
1020
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1021
+ if Utils.match_status_code(http_response.status, ['200'])
1022
+ if Utils.match_content_type(content_type, 'application/json')
1023
+ http_response = @sdk_configuration.hooks.after_success(
1024
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1025
+ hook_ctx: hook_ctx
1026
+ ),
1027
+ response: http_response
1028
+ )
1029
+ response_data = http_response.env.response_body
1030
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::SCIMGroupRoleMappingList)
1031
+ response = Models::Operations::ListSCIMGroupRoleMappingsResponse.new(
1032
+ status_code: http_response.status,
1033
+ content_type: content_type,
1034
+ raw_response: http_response,
1035
+ scim_group_role_mapping_list: obj
1036
+ )
1037
+
1038
+ return response
1039
+ else
1040
+ 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'
1041
+ end
1042
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404'])
1043
+ if Utils.match_content_type(content_type, 'application/json')
1044
+ http_response = @sdk_configuration.hooks.after_success(
1045
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1046
+ hook_ctx: hook_ctx
1047
+ ),
1048
+ response: http_response
1049
+ )
1050
+ response_data = http_response.env.response_body
1051
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
1052
+ obj.raw_response = http_response
1053
+ raise obj
1054
+ else
1055
+ 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'
1056
+ end
1057
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1058
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1059
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1060
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1061
+ else
1062
+ 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'
1063
+
1064
+ end
1065
+ end
1066
+
1067
+
1068
+
1069
+ def create_group_role_mapping(body:, scim_directory_id:, retries: nil, timeout_ms: nil, http_headers: nil)
1070
+ # create_group_role_mapping - Create a SCIM group role mapping
1071
+ # Creates a new SCIM group to organization role mapping for a SCIM directory.
1072
+ # Group role mapping must be enabled on the directory.
1073
+ request = Models::Operations::CreateSCIMGroupRoleMappingRequest.new(
1074
+ scim_directory_id: scim_directory_id,
1075
+ body: body
1076
+ )
1077
+ url, params = @sdk_configuration.get_server_details
1078
+ base_url = Utils.template_url(url, params)
1079
+ url = Utils.generate_url(
1080
+ Models::Operations::CreateSCIMGroupRoleMappingRequest,
1081
+ base_url,
1082
+ '/scim_directories/{scim_directory_id}/group_role_mappings',
1083
+ request
1084
+ )
1085
+ headers = {}
1086
+
1087
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
1088
+ headers['content-type'] = req_content_type
1089
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1090
+
1091
+ if form && !form.empty?
1092
+ body = Utils.encode_form(form)
1093
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1094
+ body = URI.encode_www_form(data)
1095
+ else
1096
+ body = data
1097
+ end
1098
+ headers['Accept'] = 'application/json'
1099
+ headers['user-agent'] = @sdk_configuration.user_agent
1100
+ retries ||= @sdk_configuration.retry_config
1101
+ retries ||= Utils::RetryConfig.new(
1102
+ backoff: Utils::BackoffStrategy.new(
1103
+ exponent: 1.5,
1104
+ initial_interval: 500,
1105
+ max_elapsed_time: 3_600_000,
1106
+ max_interval: 60_000
1107
+ ),
1108
+ retry_connection_errors: true,
1109
+ strategy: 'backoff'
1110
+ )
1111
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1112
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
1113
+
1114
+ security = @sdk_configuration.security_source&.call
1115
+
1116
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1117
+ timeout ||= @sdk_configuration.timeout
1118
+
1119
+
1120
+ connection = @sdk_configuration.client.dup
1121
+ connection.use Utils::RetryMiddleware, retry_options
1122
+
1123
+ hook_ctx = SDKHooks::HookContext.new(
1124
+ config: @sdk_configuration,
1125
+ base_url: base_url,
1126
+ oauth2_scopes: nil,
1127
+ operation_id: 'CreateSCIMGroupRoleMapping',
1128
+ security_source: @sdk_configuration.security_source
1129
+ )
1130
+
1131
+ error = nil
1132
+ http_response = nil
1133
+
1134
+
1135
+ begin
1136
+ http_response = connection.post(url) do |req|
1137
+ req.body = body
1138
+ req.headers.merge!(headers)
1139
+ req.options.timeout = timeout unless timeout.nil?
1140
+ Utils.configure_request_security(req, security)
1141
+ http_headers&.each do |key, value|
1142
+ req.headers[key.to_s] = value
1143
+ end
1144
+
1145
+ @sdk_configuration.hooks.before_request(
1146
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1147
+ hook_ctx: hook_ctx
1148
+ ),
1149
+ request: req
1150
+ )
1151
+ end
1152
+ rescue StandardError => e
1153
+ error = e
1154
+ ensure
1155
+ if http_response.nil? || Utils.error_status?(http_response.status)
1156
+ http_response = @sdk_configuration.hooks.after_error(
1157
+ error: error,
1158
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1159
+ hook_ctx: hook_ctx
1160
+ ),
1161
+ response: http_response
1162
+ )
1163
+ else
1164
+ http_response = @sdk_configuration.hooks.after_success(
1165
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1166
+ hook_ctx: hook_ctx
1167
+ ),
1168
+ response: http_response
1169
+ )
1170
+ end
1171
+
1172
+ if http_response.nil?
1173
+ raise error if !error.nil?
1174
+ raise 'no response'
1175
+ end
1176
+ end
1177
+
1178
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1179
+ if Utils.match_status_code(http_response.status, ['200'])
1180
+ if Utils.match_content_type(content_type, 'application/json')
1181
+ http_response = @sdk_configuration.hooks.after_success(
1182
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1183
+ hook_ctx: hook_ctx
1184
+ ),
1185
+ response: http_response
1186
+ )
1187
+ response_data = http_response.env.response_body
1188
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::SCIMGroupRoleMapping)
1189
+ response = Models::Operations::CreateSCIMGroupRoleMappingResponse.new(
1190
+ status_code: http_response.status,
1191
+ content_type: content_type,
1192
+ raw_response: http_response,
1193
+ scim_group_role_mapping: obj
1194
+ )
1195
+
1196
+ return response
1197
+ else
1198
+ 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'
1199
+ end
1200
+ elsif Utils.match_status_code(http_response.status, ['400', '401', '403', '404', '422'])
1201
+ if Utils.match_content_type(content_type, 'application/json')
1202
+ http_response = @sdk_configuration.hooks.after_success(
1203
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1204
+ hook_ctx: hook_ctx
1205
+ ),
1206
+ response: http_response
1207
+ )
1208
+ response_data = http_response.env.response_body
1209
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
1210
+ obj.raw_response = http_response
1211
+ raise obj
1212
+ else
1213
+ 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'
1214
+ end
1215
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1216
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1217
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1218
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1219
+ else
1220
+ 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'
1221
+
1222
+ end
1223
+ end
1224
+
1225
+
1226
+
1227
+ def replace_group_role_mappings(body:, scim_directory_id:, retries: nil, timeout_ms: nil, http_headers: nil)
1228
+ # replace_group_role_mappings - Replace SCIM group role mappings
1229
+ # Replaces the entire set of SCIM group role mappings for a directory. The position of
1230
+ # each item in the `mappings` array determines its precedence (the first item gets
1231
+ # precedence 1). Passing an empty array removes all mappings. Group role mapping must be
1232
+ # enabled on the directory.
1233
+ request = Models::Operations::ReplaceSCIMGroupRoleMappingsRequest.new(
1234
+ scim_directory_id: scim_directory_id,
1235
+ body: body
1236
+ )
1237
+ url, params = @sdk_configuration.get_server_details
1238
+ base_url = Utils.template_url(url, params)
1239
+ url = Utils.generate_url(
1240
+ Models::Operations::ReplaceSCIMGroupRoleMappingsRequest,
1241
+ base_url,
1242
+ '/scim_directories/{scim_directory_id}/group_role_mappings',
1243
+ request
1244
+ )
1245
+ headers = {}
1246
+
1247
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
1248
+ headers['content-type'] = req_content_type
1249
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1250
+
1251
+ if form && !form.empty?
1252
+ body = Utils.encode_form(form)
1253
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1254
+ body = URI.encode_www_form(data)
1255
+ else
1256
+ body = data
1257
+ end
1258
+ headers['Accept'] = 'application/json'
1259
+ headers['user-agent'] = @sdk_configuration.user_agent
1260
+ retries ||= @sdk_configuration.retry_config
1261
+ retries ||= Utils::RetryConfig.new(
1262
+ backoff: Utils::BackoffStrategy.new(
1263
+ exponent: 1.5,
1264
+ initial_interval: 500,
1265
+ max_elapsed_time: 3_600_000,
1266
+ max_interval: 60_000
1267
+ ),
1268
+ retry_connection_errors: true,
1269
+ strategy: 'backoff'
1270
+ )
1271
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1272
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
1273
+
1274
+ security = @sdk_configuration.security_source&.call
1275
+
1276
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1277
+ timeout ||= @sdk_configuration.timeout
1278
+
1279
+
1280
+ connection = @sdk_configuration.client.dup
1281
+ connection.use Utils::RetryMiddleware, retry_options
1282
+
1283
+ hook_ctx = SDKHooks::HookContext.new(
1284
+ config: @sdk_configuration,
1285
+ base_url: base_url,
1286
+ oauth2_scopes: nil,
1287
+ operation_id: 'ReplaceSCIMGroupRoleMappings',
1288
+ security_source: @sdk_configuration.security_source
1289
+ )
1290
+
1291
+ error = nil
1292
+ http_response = nil
1293
+
1294
+
1295
+ begin
1296
+ http_response = connection.put(url) do |req|
1297
+ req.body = body
1298
+ req.headers.merge!(headers)
1299
+ req.options.timeout = timeout unless timeout.nil?
1300
+ Utils.configure_request_security(req, security)
1301
+ http_headers&.each do |key, value|
1302
+ req.headers[key.to_s] = value
1303
+ end
1304
+
1305
+ @sdk_configuration.hooks.before_request(
1306
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1307
+ hook_ctx: hook_ctx
1308
+ ),
1309
+ request: req
1310
+ )
1311
+ end
1312
+ rescue StandardError => e
1313
+ error = e
1314
+ ensure
1315
+ if http_response.nil? || Utils.error_status?(http_response.status)
1316
+ http_response = @sdk_configuration.hooks.after_error(
1317
+ error: error,
1318
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1319
+ hook_ctx: hook_ctx
1320
+ ),
1321
+ response: http_response
1322
+ )
1323
+ else
1324
+ http_response = @sdk_configuration.hooks.after_success(
1325
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1326
+ hook_ctx: hook_ctx
1327
+ ),
1328
+ response: http_response
1329
+ )
1330
+ end
1331
+
1332
+ if http_response.nil?
1333
+ raise error if !error.nil?
1334
+ raise 'no response'
1335
+ end
1336
+ end
1337
+
1338
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1339
+ if Utils.match_status_code(http_response.status, ['200'])
1340
+ if Utils.match_content_type(content_type, 'application/json')
1341
+ http_response = @sdk_configuration.hooks.after_success(
1342
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1343
+ hook_ctx: hook_ctx
1344
+ ),
1345
+ response: http_response
1346
+ )
1347
+ response_data = http_response.env.response_body
1348
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::SCIMGroupRoleMappingList)
1349
+ response = Models::Operations::ReplaceSCIMGroupRoleMappingsResponse.new(
1350
+ status_code: http_response.status,
1351
+ content_type: content_type,
1352
+ raw_response: http_response,
1353
+ scim_group_role_mapping_list: obj
1354
+ )
1355
+
1356
+ return response
1357
+ else
1358
+ 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'
1359
+ end
1360
+ elsif Utils.match_status_code(http_response.status, ['400', '401', '403', '404', '422'])
1361
+ if Utils.match_content_type(content_type, 'application/json')
1362
+ http_response = @sdk_configuration.hooks.after_success(
1363
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1364
+ hook_ctx: hook_ctx
1365
+ ),
1366
+ response: http_response
1367
+ )
1368
+ response_data = http_response.env.response_body
1369
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
1370
+ obj.raw_response = http_response
1371
+ raise obj
1372
+ else
1373
+ 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'
1374
+ end
1375
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1376
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1377
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1378
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1379
+ else
1380
+ 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'
1381
+
1382
+ end
1383
+ end
1384
+
1385
+
1386
+
1387
+ def delete_group_role_mapping(scim_directory_id:, mapping_id:, retries: nil, timeout_ms: nil, http_headers: nil)
1388
+ # delete_group_role_mapping - Delete a SCIM group role mapping
1389
+ # Deletes a single SCIM group role mapping. Group role mapping must be enabled on the
1390
+ # directory.
1391
+ request = Models::Operations::DeleteSCIMGroupRoleMappingRequest.new(
1392
+ scim_directory_id: scim_directory_id,
1393
+ mapping_id: mapping_id
1394
+ )
1395
+ url, params = @sdk_configuration.get_server_details
1396
+ base_url = Utils.template_url(url, params)
1397
+ url = Utils.generate_url(
1398
+ Models::Operations::DeleteSCIMGroupRoleMappingRequest,
1399
+ base_url,
1400
+ '/scim_directories/{scim_directory_id}/group_role_mappings/{mapping_id}',
1401
+ request
1402
+ )
1403
+ headers = {}
1404
+
1405
+ headers['Accept'] = 'application/json'
1406
+ headers['user-agent'] = @sdk_configuration.user_agent
1407
+ retries ||= @sdk_configuration.retry_config
1408
+ retries ||= Utils::RetryConfig.new(
1409
+ backoff: Utils::BackoffStrategy.new(
1410
+ exponent: 1.5,
1411
+ initial_interval: 500,
1412
+ max_elapsed_time: 3_600_000,
1413
+ max_interval: 60_000
1414
+ ),
1415
+ retry_connection_errors: true,
1416
+ strategy: 'backoff'
1417
+ )
1418
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1419
+ retry_options[:retry_statuses] = [500, 501, 502, 503, 504, 505]
1420
+
1421
+ security = @sdk_configuration.security_source&.call
1422
+
1423
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1424
+ timeout ||= @sdk_configuration.timeout
1425
+
1426
+
1427
+ connection = @sdk_configuration.client.dup
1428
+ connection.use Utils::RetryMiddleware, retry_options
1429
+
1430
+ hook_ctx = SDKHooks::HookContext.new(
1431
+ config: @sdk_configuration,
1432
+ base_url: base_url,
1433
+ oauth2_scopes: nil,
1434
+ operation_id: 'DeleteSCIMGroupRoleMapping',
1435
+ security_source: @sdk_configuration.security_source
1436
+ )
1437
+
1438
+ error = nil
1439
+ http_response = nil
1440
+
1441
+
1442
+ begin
1443
+ http_response = connection.delete(url) do |req|
1444
+ req.headers.merge!(headers)
1445
+ req.options.timeout = timeout unless timeout.nil?
1446
+ Utils.configure_request_security(req, security)
1447
+ http_headers&.each do |key, value|
1448
+ req.headers[key.to_s] = value
1449
+ end
1450
+
1451
+ @sdk_configuration.hooks.before_request(
1452
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1453
+ hook_ctx: hook_ctx
1454
+ ),
1455
+ request: req
1456
+ )
1457
+ end
1458
+ rescue StandardError => e
1459
+ error = e
1460
+ ensure
1461
+ if http_response.nil? || Utils.error_status?(http_response.status)
1462
+ http_response = @sdk_configuration.hooks.after_error(
1463
+ error: error,
1464
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1465
+ hook_ctx: hook_ctx
1466
+ ),
1467
+ response: http_response
1468
+ )
1469
+ else
1470
+ http_response = @sdk_configuration.hooks.after_success(
1471
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1472
+ hook_ctx: hook_ctx
1473
+ ),
1474
+ response: http_response
1475
+ )
1476
+ end
1477
+
1478
+ if http_response.nil?
1479
+ raise error if !error.nil?
1480
+ raise 'no response'
1481
+ end
1482
+ end
1483
+
1484
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1485
+ if Utils.match_status_code(http_response.status, ['200'])
1486
+ if Utils.match_content_type(content_type, 'application/json')
1487
+ http_response = @sdk_configuration.hooks.after_success(
1488
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1489
+ hook_ctx: hook_ctx
1490
+ ),
1491
+ response: http_response
1492
+ )
1493
+ response_data = http_response.env.response_body
1494
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::SCIMGroupRoleMappingDeleted)
1495
+ response = Models::Operations::DeleteSCIMGroupRoleMappingResponse.new(
1496
+ status_code: http_response.status,
1497
+ content_type: content_type,
1498
+ raw_response: http_response,
1499
+ scim_group_role_mapping_deleted: obj
1500
+ )
1501
+
1502
+ return response
1503
+ else
1504
+ 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'
1505
+ end
1506
+ elsif Utils.match_status_code(http_response.status, ['400', '401', '403', '404'])
1507
+ if Utils.match_content_type(content_type, 'application/json')
1508
+ http_response = @sdk_configuration.hooks.after_success(
1509
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1510
+ hook_ctx: hook_ctx
1511
+ ),
1512
+ response: http_response
1513
+ )
1514
+ response_data = http_response.env.response_body
1515
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ClerkErrors)
1516
+ obj.raw_response = http_response
1517
+ raise obj
1518
+ else
1519
+ 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'
1520
+ end
1521
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1522
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1523
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1524
+ raise ::Clerk::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1525
+ else
1526
+ 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'
1527
+
1528
+ end
1529
+ end
1530
+ end
1531
+ end