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
@@ -21,24 +21,27 @@ module Clerk
21
21
  #
22
22
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
23
23
  field :callback_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('callback_url') } }
24
+ # Replace the application's complete built-in and custom scope ceiling. Provide scope keys as a space-delimited string. Custom keys must exist in the instance OAuth scope catalog. Required built-in scopes, such as `offline_access`, must be included in the replacement set, otherwise the request is rejected. Omit this field to leave all scope assignments unchanged.
25
+ field :scopes, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('scopes') } }
24
26
  # True to enable a consent screen to display in the authentication flow. This cannot be disabled for dynamically registered OAuth Applications.
25
27
  field :consent_screen_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('consent_screen_enabled') } }
26
28
  # True to require the Proof Key of Code Exchange (PKCE) flow.
27
29
  field :pkce_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('pkce_required') } }
30
+ # True to enable the OAuth Device Authorization Grant for this application. Enabling requires the new OAuth IdP and a reachable device verification page. Omit this field to leave the setting unchanged.
31
+ field :device_authorization_grant_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('device_authorization_grant_enabled') } }
28
32
  # If true, this client is public and you can use the Proof Key of Code Exchange (PKCE) flow.
29
33
  field :public, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('public') } }
30
- # Define the allowed scopes for the new OAuth applications that dictate the user payload of the OAuth user info endpoint. Available scopes are `profile`, `email`, `public_metadata`, `private_metadata`. Provide the requested scopes as a string, separated by spaces.
31
- field :scopes, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('scopes') } }
32
34
 
33
35
 
34
- def initialize(name: nil, redirect_uris: nil, callback_url: nil, consent_screen_enabled: nil, pkce_required: nil, public: nil, scopes: 'profile email')
36
+ def initialize(name: nil, redirect_uris: nil, callback_url: nil, scopes: nil, consent_screen_enabled: nil, pkce_required: nil, device_authorization_grant_enabled: nil, public: nil)
35
37
  @name = name
36
38
  @redirect_uris = redirect_uris
37
39
  @callback_url = callback_url
40
+ @scopes = scopes
38
41
  @consent_screen_enabled = consent_screen_enabled
39
42
  @pkce_required = pkce_required
43
+ @device_authorization_grant_enabled = device_authorization_grant_enabled
40
44
  @public = public
41
- @scopes = scopes
42
45
  end
43
46
 
44
47
 
@@ -47,10 +50,11 @@ module Clerk
47
50
  return false unless @name == other.name
48
51
  return false unless @redirect_uris == other.redirect_uris
49
52
  return false unless @callback_url == other.callback_url
53
+ return false unless @scopes == other.scopes
50
54
  return false unless @consent_screen_enabled == other.consent_screen_enabled
51
55
  return false unless @pkce_required == other.pkce_required
56
+ return false unless @device_authorization_grant_enabled == other.device_authorization_grant_enabled
52
57
  return false unless @public == other.public
53
- return false unless @scopes == other.scopes
54
58
  true
55
59
  end
56
60
  end
@@ -14,12 +14,14 @@ class Clerk::Models::Operations::UpdateOAuthApplicationRequestBody
14
14
  def redirect_uris=(str_); end
15
15
  def callback_url(); end
16
16
  def callback_url=(str_); end
17
+ def scopes(); end
18
+ def scopes=(str_); end
17
19
  def consent_screen_enabled(); end
18
20
  def consent_screen_enabled=(str_); end
19
21
  def pkce_required(); end
20
22
  def pkce_required=(str_); end
23
+ def device_authorization_grant_enabled(); end
24
+ def device_authorization_grant_enabled=(str_); end
21
25
  def public(); end
22
26
  def public=(str_); end
23
- def scopes(); end
24
- def scopes=(str_); end
25
27
  end
@@ -22,17 +22,21 @@ module Clerk
22
22
  field :max_allowed_memberships, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('max_allowed_memberships') } }
23
23
  # If true, an admin can delete this organization with the Frontend API.
24
24
  field :admin_delete_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('admin_delete_enabled') } }
25
+ # Whether this organization can configure self-serve enterprise SSO.
26
+ # Requires the instance to have the self-serve SSO entitlement enabled.
27
+ field :self_serve_sso_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('self_serve_sso_enabled') } }
25
28
  # A custom date/time denoting _when_ the organization was created, specified in RFC3339 format (e.g. `2012-10-20T07:15:20.902Z`).
26
29
  field :created_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('created_at') } }
27
30
  # The key of the [role set](https://clerk.com/docs/guides/organizations/control-access/role-sets) to assign to this organization.
28
31
  field :role_set_key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('role_set_key') } }
29
32
 
30
33
 
31
- def initialize(name: nil, slug: nil, max_allowed_memberships: nil, admin_delete_enabled: nil, created_at: nil, role_set_key: nil)
34
+ def initialize(name: nil, slug: nil, max_allowed_memberships: nil, admin_delete_enabled: nil, self_serve_sso_enabled: nil, created_at: nil, role_set_key: nil)
32
35
  @name = name
33
36
  @slug = slug
34
37
  @max_allowed_memberships = max_allowed_memberships
35
38
  @admin_delete_enabled = admin_delete_enabled
39
+ @self_serve_sso_enabled = self_serve_sso_enabled
36
40
  @created_at = created_at
37
41
  @role_set_key = role_set_key
38
42
  end
@@ -44,6 +48,7 @@ module Clerk
44
48
  return false unless @slug == other.slug
45
49
  return false unless @max_allowed_memberships == other.max_allowed_memberships
46
50
  return false unless @admin_delete_enabled == other.admin_delete_enabled
51
+ return false unless @self_serve_sso_enabled == other.self_serve_sso_enabled
47
52
  return false unless @created_at == other.created_at
48
53
  return false unless @role_set_key == other.role_set_key
49
54
  true
@@ -16,6 +16,8 @@ class Clerk::Models::Operations::UpdateOrganizationRequestBody
16
16
  def max_allowed_memberships=(str_); end
17
17
  def admin_delete_enabled(); end
18
18
  def admin_delete_enabled=(str_); end
19
+ def self_serve_sso_enabled(); end
20
+ def self_serve_sso_enabled=(str_); end
19
21
  def created_at(); end
20
22
  def created_at=(str_); end
21
23
  def role_set_key(); end
@@ -12,7 +12,7 @@ module Clerk
12
12
 
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # The ID of the SCIM directory to update
15
+ # The ID of the directory to update
16
16
  field :scim_directory_id, ::String, { 'path_param': { 'field_name': 'scim_directory_id', 'style': 'simple', 'explode': false } }
17
17
 
18
18
  field :body, Crystalline::Nilable.new(Models::Operations::UpdateSCIMDirectoryRequestBody), { 'request': { 'media_type': 'application/json' } }
@@ -12,16 +12,16 @@ module Clerk
12
12
 
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # A human-friendly name for the SCIM directory.
15
+ # A human-friendly name for the directory.
16
16
  field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('name') } }
17
- # Whether the SCIM directory is enabled.
17
+ # Whether the directory is enabled.
18
18
  field :enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('enabled') } }
19
- # The identity provider for this SCIM directory.
19
+ # The identity provider for this directory.
20
20
  field :provider, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('provider') } }
21
21
  # Attribute-to-SCIM-path entries to merge into the directory's attribute mapping.
22
22
  # Set a key to `null` to remove it from the mapping.
23
23
  field :attribute_mapping, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('attribute_mapping') } }
24
- # Whether group-to-role mapping is enabled for this SCIM directory.
24
+ # Whether group-to-role mapping is enabled for this directory.
25
25
  field :group_role_mapping_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('group_role_mapping_enabled') } }
26
26
 
27
27
 
@@ -18,7 +18,7 @@ module Clerk
18
18
  field :status_code, ::Integer
19
19
  # Raw HTTP response; suitable for custom response parsing
20
20
  field :raw_response, ::Faraday::Response
21
- # A SCIM directory
21
+ # A directory
22
22
  field :scim_directory, Crystalline::Nilable.new(Models::Components::SCIMDirectory)
23
23
 
24
24
 
@@ -72,7 +72,7 @@ module Clerk
72
72
  field :create_organizations_limit, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('create_organizations_limit') } }
73
73
  # A custom date/time denoting _when_ the user signed up to the application.
74
74
  field :created_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('created_at') } }
75
- # When set to `true`, the user will bypass client trust checks during sign-in.
75
+ # When set to `true`, the user will bypass Device Trust checks during sign-in.
76
76
  field :bypass_client_trust, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('bypass_client_trust') } }
77
77
  # If set to `true`, the user will be notified that their primary email address has changed.
78
78
  # By default, no notification is sent.
@@ -15,6 +15,8 @@ module Clerk
15
15
  autoload :AdjustOrganizationBillingCreditBalanceResponse, 'clerk/models/operations/adjustorganizationbillingcreditbalance_response.rb'
16
16
  autoload :AdjustUserBillingCreditBalanceRequest, 'clerk/models/operations/adjustuserbillingcreditbalance_request.rb'
17
17
  autoload :AdjustUserBillingCreditBalanceResponse, 'clerk/models/operations/adjustuserbillingcreditbalance_response.rb'
18
+ autoload :ApplyBillingSubscriptionItemDiscountRequest, 'clerk/models/operations/applybillingsubscriptionitemdiscount_request.rb'
19
+ autoload :ApplyBillingSubscriptionItemDiscountResponse, 'clerk/models/operations/applybillingsubscriptionitemdiscount_response.rb'
18
20
  autoload :AssignPermissionToOrganizationRoleRequest, 'clerk/models/operations/assignpermissiontoorganizationrole_request.rb'
19
21
  autoload :AssignPermissionToOrganizationRoleResponse, 'clerk/models/operations/assignpermissiontoorganizationrole_response.rb'
20
22
  autoload :AttemptEmailAddressVerificationRequestBody, 'clerk/models/operations/attemptemailaddressverification_requestbody.rb'
@@ -46,6 +48,12 @@ module Clerk
46
48
  autoload :CreateBulkInvitationsTemplateSlug, 'clerk/models/operations/createbulkinvitations_template_slug.rb'
47
49
  autoload :CreateBulkWaitlistEntriesRequestBody, 'clerk/models/operations/createbulkwaitlistentries_requestbody.rb'
48
50
  autoload :CreateBulkWaitlistEntriesResponse, 'clerk/models/operations/createbulkwaitlistentries_response.rb'
51
+ autoload :CreateDirectoryGroupRoleMappingRequestBody, 'clerk/models/operations/createdirectorygrouprolemapping_requestbody.rb'
52
+ autoload :CreateDirectoryGroupRoleMappingRequest, 'clerk/models/operations/createdirectorygrouprolemapping_request.rb'
53
+ autoload :CreateDirectoryGroupRoleMappingResponse, 'clerk/models/operations/createdirectorygrouprolemapping_response.rb'
54
+ autoload :CreateDirectoryGroupRoleMapping, 'clerk/models/operations/createdirectory_group_role_mapping.rb'
55
+ autoload :CreateDirectoryRequest, 'clerk/models/operations/createdirectory_request.rb'
56
+ autoload :CreateDirectoryResponse, 'clerk/models/operations/createdirectory_response.rb'
49
57
  autoload :CreateEmailAddressRequest, 'clerk/models/operations/createemailaddress_request.rb'
50
58
  autoload :CreateEmailAddressResponse, 'clerk/models/operations/createemailaddress_response.rb'
51
59
  autoload :CreateEnterpriseConnectionTestRunRequest, 'clerk/models/operations/createenterpriseconnectiontestrun_request.rb'
@@ -109,6 +117,7 @@ module Clerk
109
117
  autoload :CreateSAMLConnectionProvider2, 'clerk/models/operations/createsamlconnection_provider_2.rb'
110
118
  autoload :CreateSAMLConnectionRequest, 'clerk/models/operations/createsamlconnection_request.rb'
111
119
  autoload :CreateSAMLConnectionResponse, 'clerk/models/operations/createsamlconnection_response.rb'
120
+ autoload :CreateSCIMDirectoryGroupRoleMapping, 'clerk/models/operations/createscimdirectory_group_role_mapping.rb'
112
121
  autoload :CreateSCIMDirectoryRequest, 'clerk/models/operations/createscimdirectory_request.rb'
113
122
  autoload :CreateSCIMDirectoryResponse, 'clerk/models/operations/createscimdirectory_response.rb'
114
123
  autoload :CreateSCIMGroupRoleMappingRequestBody, 'clerk/models/operations/createscimgrouprolemapping_requestbody.rb'
@@ -139,6 +148,10 @@ module Clerk
139
148
  autoload :DeleteBackupCodeResponse, 'clerk/models/operations/deletebackupcode_response.rb'
140
149
  autoload :DeleteBlocklistIdentifierRequest, 'clerk/models/operations/deleteblocklistidentifier_request.rb'
141
150
  autoload :DeleteBlocklistIdentifierResponse, 'clerk/models/operations/deleteblocklistidentifier_response.rb'
151
+ autoload :DeleteDirectoryGroupRoleMappingRequest, 'clerk/models/operations/deletedirectorygrouprolemapping_request.rb'
152
+ autoload :DeleteDirectoryGroupRoleMappingResponse, 'clerk/models/operations/deletedirectorygrouprolemapping_response.rb'
153
+ autoload :DeleteDirectoryRequest, 'clerk/models/operations/deletedirectory_request.rb'
154
+ autoload :DeleteDirectoryResponse, 'clerk/models/operations/deletedirectory_response.rb'
142
155
  autoload :DeleteDomainRequest, 'clerk/models/operations/deletedomain_request.rb'
143
156
  autoload :DeleteDomainResponse, 'clerk/models/operations/deletedomain_response.rb'
144
157
  autoload :DeleteEmailAddressRequest, 'clerk/models/operations/deleteemailaddress_request.rb'
@@ -212,6 +225,8 @@ module Clerk
212
225
  autoload :GetCommerceSubscriptionItemListRequest, 'clerk/models/operations/getcommercesubscriptionitemlist_request.rb'
213
226
  autoload :GetCommerceSubscriptionItemListResponse, 'clerk/models/operations/getcommercesubscriptionitemlist_response.rb'
214
227
  autoload :GetCommerceSubscriptionItemListStatus, 'clerk/models/operations/getcommercesubscriptionitemlist_status.rb'
228
+ autoload :GetDirectoryRequest, 'clerk/models/operations/getdirectory_request.rb'
229
+ autoload :GetDirectoryResponse, 'clerk/models/operations/getdirectory_response.rb'
215
230
  autoload :GetEmailAddressRequest, 'clerk/models/operations/getemailaddress_request.rb'
216
231
  autoload :GetEmailAddressResponse, 'clerk/models/operations/getemailaddress_response.rb'
217
232
  autoload :GetEnterpriseConnectionRequest, 'clerk/models/operations/getenterpriseconnection_request.rb'
@@ -250,6 +265,8 @@ module Clerk
250
265
  autoload :GetPublicInterstitialResponse, 'clerk/models/operations/getpublicinterstitial_response.rb'
251
266
  autoload :GetRedirectURLRequest, 'clerk/models/operations/getredirecturl_request.rb'
252
267
  autoload :GetRedirectURLResponse, 'clerk/models/operations/getredirecturl_response.rb'
268
+ autoload :GetReverificationRequest, 'clerk/models/operations/getreverification_request.rb'
269
+ autoload :GetReverificationResponse, 'clerk/models/operations/getreverification_response.rb'
253
270
  autoload :GetRoleSetRequest, 'clerk/models/operations/getroleset_request.rb'
254
271
  autoload :GetRoleSetResponse, 'clerk/models/operations/getroleset_response.rb'
255
272
  autoload :GetSAMLConnectionRequest, 'clerk/models/operations/getsamlconnection_request.rb'
@@ -289,6 +306,10 @@ module Clerk
289
306
  autoload :ListAllowlistIdentifiersRequest, 'clerk/models/operations/listallowlistidentifiers_request.rb'
290
307
  autoload :ListAllowlistIdentifiersResponse, 'clerk/models/operations/listallowlistidentifiers_response.rb'
291
308
  autoload :ListBlocklistIdentifiersResponse, 'clerk/models/operations/listblocklistidentifiers_response.rb'
309
+ autoload :ListDirectoriesRequest, 'clerk/models/operations/listdirectories_request.rb'
310
+ autoload :ListDirectoriesResponse, 'clerk/models/operations/listdirectories_response.rb'
311
+ autoload :ListDirectoryGroupRoleMappingsRequest, 'clerk/models/operations/listdirectorygrouprolemappings_request.rb'
312
+ autoload :ListDirectoryGroupRoleMappingsResponse, 'clerk/models/operations/listdirectorygrouprolemappings_response.rb'
292
313
  autoload :ListDomainsResponse, 'clerk/models/operations/listdomains_response.rb'
293
314
  autoload :ListEnterpriseConnectionTestRunsRequest, 'clerk/models/operations/listenterpriseconnectiontestruns_request.rb'
294
315
  autoload :ListEnterpriseConnectionTestRunsResponse, 'clerk/models/operations/listenterpriseconnectiontestruns_response.rb'
@@ -332,6 +353,8 @@ module Clerk
332
353
  autoload :ListSCIMDirectoriesResponse, 'clerk/models/operations/listscimdirectories_response.rb'
333
354
  autoload :ListSCIMGroupRoleMappingsRequest, 'clerk/models/operations/listscimgrouprolemappings_request.rb'
334
355
  autoload :ListSCIMGroupRoleMappingsResponse, 'clerk/models/operations/listscimgrouprolemappings_response.rb'
356
+ autoload :ListUserBiometricCredentialsRequest, 'clerk/models/operations/listuserbiometriccredentials_request.rb'
357
+ autoload :ListUserBiometricCredentialsResponse, 'clerk/models/operations/listuserbiometriccredentials_response.rb'
335
358
  autoload :ListUserTrustedDevicesRequest, 'clerk/models/operations/listusertrusteddevices_request.rb'
336
359
  autoload :ListUserTrustedDevicesResponse, 'clerk/models/operations/listusertrusteddevices_response.rb'
337
360
  autoload :ListWaitlistEntriesRequest, 'clerk/models/operations/listwaitlistentries_request.rb'
@@ -355,11 +378,17 @@ module Clerk
355
378
  autoload :RefreshSessionResponse, 'clerk/models/operations/refreshsession_response.rb'
356
379
  autoload :RejectWaitlistEntryRequest, 'clerk/models/operations/rejectwaitlistentry_request.rb'
357
380
  autoload :RejectWaitlistEntryResponse, 'clerk/models/operations/rejectwaitlistentry_response.rb'
381
+ autoload :RemoveBillingSubscriptionItemDiscountRequest, 'clerk/models/operations/removebillingsubscriptionitemdiscount_request.rb'
382
+ autoload :RemoveBillingSubscriptionItemDiscountResponse, 'clerk/models/operations/removebillingsubscriptionitemdiscount_response.rb'
358
383
  autoload :RemovePermissionFromOrganizationRoleRequest, 'clerk/models/operations/removepermissionfromorganizationrole_request.rb'
359
384
  autoload :RemovePermissionFromOrganizationRoleResponse, 'clerk/models/operations/removepermissionfromorganizationrole_response.rb'
360
385
  autoload :RemoveUserPasswordRequestBody, 'clerk/models/operations/removeuserpassword_requestbody.rb'
361
386
  autoload :RemoveUserPasswordRequest, 'clerk/models/operations/removeuserpassword_request.rb'
362
387
  autoload :RemoveUserPasswordResponse, 'clerk/models/operations/removeuserpassword_response.rb'
388
+ autoload :ReplaceDirectoryGroupRoleMappingsRequestBody, 'clerk/models/operations/replacedirectorygrouprolemappings_requestbody.rb'
389
+ autoload :ReplaceDirectoryGroupRoleMappingsMapping, 'clerk/models/operations/replacedirectorygrouprolemappings_mapping.rb'
390
+ autoload :ReplaceDirectoryGroupRoleMappingsRequest, 'clerk/models/operations/replacedirectorygrouprolemappings_request.rb'
391
+ autoload :ReplaceDirectoryGroupRoleMappingsResponse, 'clerk/models/operations/replacedirectorygrouprolemappings_response.rb'
363
392
  autoload :ReplaceOrganizationMetadataRequestBody, 'clerk/models/operations/replaceorganizationmetadata_requestbody.rb'
364
393
  autoload :ReplaceOrganizationMetadataRequest, 'clerk/models/operations/replaceorganizationmetadata_request.rb'
365
394
  autoload :ReplaceOrganizationMetadataResponse, 'clerk/models/operations/replaceorganizationmetadata_response.rb'
@@ -370,6 +399,7 @@ module Clerk
370
399
  autoload :ReplaceRoleSetRequest, 'clerk/models/operations/replaceroleset_request.rb'
371
400
  autoload :ReplaceRoleSetResponse, 'clerk/models/operations/replaceroleset_response.rb'
372
401
  autoload :ReplaceSCIMGroupRoleMappingsRequestBody, 'clerk/models/operations/replacescimgrouprolemappings_requestbody.rb'
402
+ autoload :ReplaceSCIMGroupRoleMappingsMapping, 'clerk/models/operations/replacescimgrouprolemappings_mapping.rb'
373
403
  autoload :ReplaceSCIMGroupRoleMappingsRequest, 'clerk/models/operations/replacescimgrouprolemappings_request.rb'
374
404
  autoload :ReplaceSCIMGroupRoleMappingsResponse, 'clerk/models/operations/replacescimgrouprolemappings_response.rb'
375
405
  autoload :ReplaceUserEmailAddressRequestBody, 'clerk/models/operations/replaceuseremailaddress_requestbody.rb'
@@ -403,8 +433,12 @@ module Clerk
403
433
  autoload :RevokeSessionResponse, 'clerk/models/operations/revokesession_response.rb'
404
434
  autoload :RevokeSignInTokenRequest, 'clerk/models/operations/revokesignintoken_request.rb'
405
435
  autoload :RevokeSignInTokenResponse, 'clerk/models/operations/revokesignintoken_response.rb'
436
+ autoload :RevokeUserBiometricCredentialRequest, 'clerk/models/operations/revokeuserbiometriccredential_request.rb'
437
+ autoload :RevokeUserBiometricCredentialResponse, 'clerk/models/operations/revokeuserbiometriccredential_response.rb'
406
438
  autoload :RevokeUserTrustedDeviceRequest, 'clerk/models/operations/revokeusertrusteddevice_request.rb'
407
439
  autoload :RevokeUserTrustedDeviceResponse, 'clerk/models/operations/revokeusertrusteddevice_response.rb'
440
+ autoload :RotateDirectoryAPIKeyRequest, 'clerk/models/operations/rotatedirectoryapikey_request.rb'
441
+ autoload :RotateDirectoryAPIKeyResponse, 'clerk/models/operations/rotatedirectoryapikey_response.rb'
408
442
  autoload :RotateMachineSecretKeyRequestBody, 'clerk/models/operations/rotatemachinesecretkey_requestbody.rb'
409
443
  autoload :RotateMachineSecretKeyRequest, 'clerk/models/operations/rotatemachinesecretkey_request.rb'
410
444
  autoload :RotateMachineSecretKeyResponse, 'clerk/models/operations/rotatemachinesecretkey_response.rb'
@@ -429,6 +463,9 @@ module Clerk
429
463
  autoload :UnlockUserResponse, 'clerk/models/operations/unlockuser_response.rb'
430
464
  autoload :UnsetUserPasswordCompromisedRequest, 'clerk/models/operations/unsetuserpasswordcompromised_request.rb'
431
465
  autoload :UnsetUserPasswordCompromisedResponse, 'clerk/models/operations/unsetuserpasswordcompromised_response.rb'
466
+ autoload :UpdateDirectoryRequestBody, 'clerk/models/operations/updatedirectory_requestbody.rb'
467
+ autoload :UpdateDirectoryRequest, 'clerk/models/operations/updatedirectory_request.rb'
468
+ autoload :UpdateDirectoryResponse, 'clerk/models/operations/updatedirectory_response.rb'
432
469
  autoload :UpdateDomainRequestBody, 'clerk/models/operations/updatedomain_requestbody.rb'
433
470
  autoload :UpdateDomainRequest, 'clerk/models/operations/updatedomain_request.rb'
434
471
  autoload :UpdateDomainResponse, 'clerk/models/operations/updatedomain_response.rb'
@@ -610,10 +647,8 @@ module Clerk
610
647
  autoload :GetM2MTokensObject, 'clerk/models/operations/getm2mtokens_object.rb'
611
648
  autoload :GetM2MTokensRequest, 'clerk/models/operations/getm2mtokens_request.rb'
612
649
  autoload :GetM2MTokensResponse, 'clerk/models/operations/getm2mtokens_response.rb'
613
- autoload :GroupRoleMapping, 'clerk/models/operations/group_role_mapping.rb'
614
650
  autoload :IncludeInvalid, 'clerk/models/operations/include_invalid.rb'
615
651
  autoload :M2mToken, 'clerk/models/operations/m2m_token.rb'
616
- autoload :Mapping, 'clerk/models/operations/mapping.rb'
617
652
  autoload :OnBehalfOf, 'clerk/models/operations/on_behalf_of.rb'
618
653
  autoload :Permissions, 'clerk/models/operations/permissions.rb'
619
654
  autoload :PhoneNumberIdentificationStatus, 'clerk/models/operations/phone_number_identification_status.rb'
@@ -15,7 +15,7 @@ module Clerk
15
15
  class OpenAPIClient
16
16
 
17
17
 
18
- attr_accessor :miscellaneous, :jwks, :clients, :email_addresses, :phone_numbers, :sessions, :email_sms_templates, :email_and_sms_templates, :templates, :users, :invitations, :organization_invitations, :allowlist_identifiers, :blocklist_identifiers, :beta_features, :actor_tokens, :domains, :instance_settings, :webhooks, :jwt_templates, :machines, :organizations, :organization_roles, :organization_memberships, :organization_domains, :proxy_checks, :redirect_urls, :sign_in_tokens, :sign_ups, :oauth_applications, :saml_connections, :enterprise_connections, :testing_tokens, :agent_tasks, :waitlist_entries, :billing, :organization_permissions, :role_sets, :scim_directories, :admin_portal_link_tokens, :api_keys, :m2m, :oauth_access_tokens
18
+ attr_accessor :miscellaneous, :jwks, :clients, :email_addresses, :phone_numbers, :sessions, :email_sms_templates, :email_and_sms_templates, :templates, :users, :invitations, :organization_invitations, :allowlist_identifiers, :blocklist_identifiers, :beta_features, :actor_tokens, :domains, :instance_settings, :webhooks, :jwt_templates, :machines, :organizations, :organization_roles, :organization_memberships, :organization_domains, :proxy_checks, :redirect_urls, :sign_in_tokens, :sign_ups, :oauth_applications, :saml_connections, :enterprise_connections, :testing_tokens, :agent_tasks, :waitlist_entries, :billing, :organization_permissions, :role_sets, :scim_directories, :directories, :admin_portal_link_tokens, :api_keys, :m2m, :oauth_access_tokens
19
19
 
20
20
  # Instantiates the SDK, configuring it with the provided parameters.
21
21
  #
@@ -104,6 +104,7 @@ module Clerk
104
104
  @organization_permissions = OrganizationPermissions.new(@sdk_configuration)
105
105
  @role_sets = RoleSets.new(@sdk_configuration)
106
106
  @scim_directories = ScimDirectories.new(@sdk_configuration)
107
+ @directories = Directories.new(@sdk_configuration)
107
108
  @admin_portal_link_tokens = AdminPortalLinkTokens.new(@sdk_configuration)
108
109
  @api_keys = APIKeys.new(@sdk_configuration)
109
110
  @m2m = M2m.new(@sdk_configuration)
@@ -802,7 +802,15 @@ module Clerk
802
802
  # backend driving its own frontend can react on every attempt — an incorrect
803
803
  # or expired code is reported through the status, not as an error. Resubmitting
804
804
  # a verification whose code was already accepted is rejected with a
805
- # `verification_already_verified` error. If the code
805
+ # `verification_already_verified` error. If the code for this verification
806
+ # could not be sent (the SMS provider refused or failed the send after
807
+ # prepare_verification had returned), the attempt is rejected with a
808
+ # `verification_code_not_sent` error and no attempt is counted; call
809
+ # prepare_verification again to send a new code. If too many codes have been
810
+ # checked for this phone number recently, the attempt is rejected with a
811
+ # `verification_code_too_many_attempts` error and no attempt is counted; the
812
+ # limit is per phone number, so wait for the `Retry-After` period rather than
813
+ # sending a new code. If the code
806
814
  # is correct and the phone number is not already verified, it is also marked
807
815
  # as verified as a side effect (just as it would be in a frontend verification
808
816
  # flow); an already verified phone number is left unchanged. It never creates
@@ -934,7 +942,7 @@ module Clerk
934
942
  else
935
943
  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'
936
944
  end
937
- elsif Utils.match_status_code(http_response.status, ['400', '401', '403', '404'])
945
+ elsif Utils.match_status_code(http_response.status, ['400', '401', '403', '404', '422', '429'])
938
946
  if Utils.match_content_type(content_type, 'application/json')
939
947
  http_response = @sdk_configuration.hooks.after_success(
940
948
  hook_ctx: SDKHooks::AfterSuccessHookContext.new(
@@ -42,8 +42,8 @@ module Clerk
42
42
 
43
43
 
44
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.
45
+ # list - List all directories
46
+ # Returns a list of all directories for the instance.
47
47
  request = Models::Operations::ListSCIMDirectoriesRequest.new(
48
48
  limit: limit,
49
49
  offset: offset
@@ -184,8 +184,8 @@ module Clerk
184
184
 
185
185
 
186
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.
187
+ # create - Create a directory
188
+ # Create a new directory for the instance.
189
189
  url, params = @sdk_configuration.get_server_details
190
190
  base_url = Utils.template_url(url, params)
191
191
  url = "#{base_url}/scim_directories"
@@ -331,8 +331,8 @@ module Clerk
331
331
 
332
332
 
333
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.
334
+ # get - Retrieve a directory
335
+ # Returns the details of a directory.
336
336
  request = Models::Operations::GetSCIMDirectoryRequest.new(
337
337
  scim_directory_id: scim_directory_id
338
338
  )
@@ -475,8 +475,8 @@ module Clerk
475
475
 
476
476
 
477
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.
478
+ # update - Update a directory
479
+ # Updates a directory.
480
480
  request = Models::Operations::UpdateSCIMDirectoryRequest.new(
481
481
  scim_directory_id: scim_directory_id,
482
482
  body: body
@@ -631,8 +631,8 @@ module Clerk
631
631
 
632
632
 
633
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
634
+ # delete - Delete a directory
635
+ # Deletes a directory and stops provisioning for it. SCIM requests authenticated
636
636
  # with the directory's API key are rejected afterwards.
637
637
  request = Models::Operations::DeleteSCIMDirectoryRequest.new(
638
638
  scim_directory_id: scim_directory_id
@@ -776,8 +776,8 @@ module Clerk
776
776
 
777
777
 
778
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.
779
+ # rotate_api_key - Rotate a directory's API key
780
+ # Generates a new API key for the directory and returns it in the `api_key` field.
781
781
  # This is the only way to obtain the key after creation, so make sure to update it in
782
782
  # your identity provider. The previous key remains valid for a short grace period before
783
783
  # it expires.
@@ -895,7 +895,7 @@ module Clerk
895
895
  else
896
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
897
  end
898
- elsif Utils.match_status_code(http_response.status, ['401', '403', '404'])
898
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '422'])
899
899
  if Utils.match_content_type(content_type, 'application/json')
900
900
  http_response = @sdk_configuration.hooks.after_success(
901
901
  hook_ctx: SDKHooks::AfterSuccessHookContext.new(
@@ -924,7 +924,7 @@ module Clerk
924
924
 
925
925
  def list_group_role_mappings(scim_directory_id:, retries: nil, timeout_ms: nil, http_headers: nil)
926
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.
927
+ # Returns the list of SCIM group to organization role mappings for a directory, ordered by precedence.
928
928
  request = Models::Operations::ListSCIMGroupRoleMappingsRequest.new(
929
929
  scim_directory_id: scim_directory_id
930
930
  )
@@ -1068,8 +1068,9 @@ module Clerk
1068
1068
 
1069
1069
  def create_group_role_mapping(body:, scim_directory_id:, retries: nil, timeout_ms: nil, http_headers: nil)
1070
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.
1071
+ # Creates a new SCIM group to organization role mapping for a directory.
1072
+ # Mappings can be created while group role mapping is disabled on the
1073
+ # directory, but they only take effect once it is enabled.
1073
1074
  request = Models::Operations::CreateSCIMGroupRoleMappingRequest.new(
1074
1075
  scim_directory_id: scim_directory_id,
1075
1076
  body: body
@@ -1228,8 +1229,9 @@ module Clerk
1228
1229
  # replace_group_role_mappings - Replace SCIM group role mappings
1229
1230
  # Replaces the entire set of SCIM group role mappings for a directory. The position of
1230
1231
  # 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.
1232
+ # precedence 1). Passing an empty array removes all mappings. Mappings can be replaced
1233
+ # while group role mapping is disabled on the directory, but they only take effect once
1234
+ # it is enabled.
1233
1235
  request = Models::Operations::ReplaceSCIMGroupRoleMappingsRequest.new(
1234
1236
  scim_directory_id: scim_directory_id,
1235
1237
  body: body
@@ -1386,8 +1388,9 @@ module Clerk
1386
1388
 
1387
1389
  def delete_group_role_mapping(scim_directory_id:, mapping_id:, retries: nil, timeout_ms: nil, http_headers: nil)
1388
1390
  # 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
+ # Deletes a single SCIM group role mapping. Mappings can be deleted while group role
1392
+ # mapping is disabled on the directory, but the change only takes effect once it is
1393
+ # enabled.
1391
1394
  request = Models::Operations::DeleteSCIMGroupRoleMappingRequest.new(
1392
1395
  scim_directory_id: scim_directory_id,
1393
1396
  mapping_id: mapping_id
data/lib/clerk/sdk.rb CHANGED
@@ -108,6 +108,10 @@ module Clerk
108
108
 
109
109
  private
110
110
 
111
+ # Decodes the `fea`/`o.per`/`o.fpm` triple of a v2 session token into
112
+ # `org:<feature>:<action>` permission strings. Anything that cannot be
113
+ # decoded with confidence is skipped rather than guessed at, so malformed
114
+ # claims can only ever narrow the permission set, never widen it.
111
115
  def compute_org_permissions_from_v2_token(claims)
112
116
  features = claims['fea'] ? claims['fea'].split(',') : []
113
117
  permissions = claims['o']['per'] ? claims['o']['per'].split(',') : []
@@ -115,12 +119,28 @@ module Clerk
115
119
  org_permissions = []
116
120
 
117
121
  mappings.each_with_index do |mapping, i|
122
+ # Each mapping is positionally aligned to a feature. A mapping without a
123
+ # matching feature entry cannot be attributed to anything, so skip it.
124
+ next if features[i].nil?
125
+
118
126
  scope, feature = features[i].split(':')
119
127
 
128
+ next if scope.nil? || feature.nil? # malformed feature entry
120
129
  next if !scope.include?('o') # not an orgs-related permission
130
+ # Only a non-negative decimal integer is a valid mask. The backend builds
131
+ # these masks in a signed 64-bit integer, so an action at index 63
132
+ # overflows into a negative value whose binary representation is a minus
133
+ # sign followed by ones ("-111...1"); walking that string character by
134
+ # character would grant every one of those bits. Reject anything that is
135
+ # not a plain non-negative decimal, mirroring `decimalToBinaryBits` in
136
+ # @clerk/shared, which fails closed the same way.
137
+ next if !/\A\d+\z/.match?(mapping)
121
138
 
122
139
  mapping.to_i.to_s(2).reverse.each_char.each_with_index do |bit, j|
123
- org_permissions << "org:#{feature}:#{permissions[j]}" if bit == '1'
140
+ next if bit != '1'
141
+ next if permissions[j].nil? # mask has more bits than the permission vocabulary
142
+
143
+ org_permissions << "org:#{feature}:#{permissions[j]}"
124
144
  end
125
145
  end
126
146
 
@@ -76,9 +76,9 @@ module Clerk
76
76
  end
77
77
  @language = 'ruby'
78
78
  @openapi_doc_version = '2026-05-12'
79
- @sdk_version = '8.0.0'
80
- @gen_version = '2.928.0'
81
- @user_agent = 'speakeasy-sdk/ruby 8.0.0 2.928.0 2026-05-12 clerk-sdk-ruby'
79
+ @sdk_version = '8.0.1'
80
+ @gen_version = '2.938.0'
81
+ @user_agent = 'speakeasy-sdk/ruby 8.0.1 2.938.0 2026-05-12 clerk-sdk-ruby'
82
82
  end
83
83
 
84
84