workos 7.1.2 → 9.5.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 (582) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +2 -2
  3. data/.github/workflows/docs.yml +49 -0
  4. data/.github/workflows/lint.yml +2 -2
  5. data/.github/workflows/release-please.yml +164 -10
  6. data/.github/workflows/release.yml +2 -2
  7. data/.gitignore +2 -0
  8. data/.last-synced-sha +1 -1
  9. data/.oagen-manifest.json +403 -84
  10. data/.release-please-manifest.json +1 -1
  11. data/.ruby-version +1 -1
  12. data/.yardopts +6 -0
  13. data/CHANGELOG.md +331 -0
  14. data/Gemfile +6 -0
  15. data/Gemfile.lock +35 -4
  16. data/README.md +19 -0
  17. data/docs/V7_MIGRATION_GUIDE.md +21 -0
  18. data/lib/workos/actions.rb +1 -1
  19. data/lib/workos/admin_portal/generate_link.rb +0 -3
  20. data/lib/workos/admin_portal.rb +0 -3
  21. data/lib/workos/api_keys/api_key.rb +4 -1
  22. data/lib/workos/api_keys/api_key_created.rb +5 -5
  23. data/lib/workos/api_keys/api_key_created_data.rb +4 -1
  24. data/lib/workos/api_keys/api_key_revoked.rb +5 -5
  25. data/lib/workos/{audit_logs/audit_log_export_json.rb → api_keys/api_key_updated.rb} +10 -10
  26. data/lib/workos/api_keys/api_key_updated_data.rb +49 -0
  27. data/lib/workos/{directory_sync/dsync_deactivated_data_domain.rb → api_keys/api_key_updated_data_owner.rb} +1 -1
  28. data/lib/workos/api_keys/api_key_updated_data_previous_attribute.rb +18 -0
  29. data/lib/workos/api_keys/create_organization_api_key.rb +5 -2
  30. data/lib/workos/api_keys/expire_api_key.rb +18 -0
  31. data/lib/workos/api_keys/organization_api_key.rb +46 -0
  32. data/lib/workos/{types/events_order.rb → api_keys/organization_api_key_owner.rb} +1 -3
  33. data/lib/workos/api_keys/organization_api_key_with_value.rb +49 -0
  34. data/lib/workos/{types/audit_logs_order.rb → api_keys/organization_api_key_with_value_owner.rb} +1 -3
  35. data/lib/workos/api_keys.rb +75 -47
  36. data/lib/workos/audit_logs/audit_log_action.rb +2 -7
  37. data/lib/workos/audit_logs/audit_log_export.rb +2 -7
  38. data/lib/workos/audit_logs/audit_log_schema.rb +11 -2
  39. data/lib/workos/audit_logs/audit_log_schema_actor_input.rb +7 -0
  40. data/lib/workos/audit_logs/audit_log_schema_input.rb +25 -0
  41. data/lib/workos/audit_logs/audit_log_schema_target.rb +16 -1
  42. data/lib/workos/audit_logs/audit_log_schema_target_input.rb +7 -0
  43. data/lib/workos/audit_logs.rb +20 -20
  44. data/lib/workos/{audit_logs/audit_log_schema_json_actor.rb → authorization/create_group_role_assignment.rb} +1 -1
  45. data/lib/workos/authorization/delete_group_role_assignments_by_criteria.rb +7 -0
  46. data/lib/workos/authorization/{role_assignment.rb → group_role_assignment.rb} +5 -2
  47. data/lib/workos/authorization/group_role_assignment_list.rb +25 -0
  48. data/lib/workos/authorization/{role_assignment_resource.rb → group_role_assignment_resource.rb} +1 -1
  49. data/lib/workos/authorization/permission_created.rb +5 -5
  50. data/lib/workos/authorization/permission_deleted.rb +5 -5
  51. data/lib/workos/authorization/permission_updated.rb +5 -5
  52. data/lib/workos/{api_keys/api_key_with_value_owner.rb → authorization/replace_group_role_assignment_entry.rb} +1 -1
  53. data/lib/workos/authorization/replace_group_role_assignments.rb +18 -0
  54. data/lib/workos/authorization/role_created.rb +5 -5
  55. data/lib/workos/authorization/role_deleted.rb +5 -5
  56. data/lib/workos/authorization/role_updated.rb +5 -5
  57. data/lib/workos/authorization/user_role_assignment.rb +40 -0
  58. data/lib/workos/authorization/user_role_assignment_resource.rb +7 -0
  59. data/lib/workos/{audit_logs/audit_log_schema_json_target.rb → authorization/user_role_assignment_source.rb} +4 -4
  60. data/lib/workos/authorization.rb +326 -30
  61. data/lib/workos/base_client.rb +90 -7
  62. data/lib/workos/client.rb +18 -10
  63. data/lib/workos/client_api/client_api_token.rb +22 -0
  64. data/lib/workos/client_api/client_api_token_response.rb +18 -0
  65. data/lib/workos/client_api.rb +39 -0
  66. data/lib/workos/connect/connect_application.rb +12 -0
  67. data/lib/workos/connect/connect_application_redirect_uri.rb +22 -0
  68. data/lib/workos/connect/user_object.rb +3 -0
  69. data/lib/workos/connect.rb +2 -2
  70. data/lib/workos/directory_sync/directory_user.rb +3 -0
  71. data/lib/workos/directory_sync/directory_user_with_groups.rb +4 -1
  72. data/lib/workos/directory_sync/dsync_activated.rb +5 -5
  73. data/lib/workos/directory_sync/dsync_deleted.rb +5 -5
  74. data/lib/workos/directory_sync/dsync_group_created.rb +5 -5
  75. data/lib/workos/directory_sync/dsync_group_deleted.rb +5 -5
  76. data/lib/workos/directory_sync/dsync_group_updated.rb +5 -5
  77. data/lib/workos/directory_sync/dsync_group_user_added.rb +5 -5
  78. data/lib/workos/directory_sync/dsync_group_user_removed.rb +5 -5
  79. data/lib/workos/directory_sync/dsync_token_created.rb +34 -0
  80. data/lib/workos/directory_sync/dsync_token_created_data.rb +34 -0
  81. data/lib/workos/directory_sync/dsync_token_revoked.rb +34 -0
  82. data/lib/workos/directory_sync/dsync_token_revoked_data.rb +7 -0
  83. data/lib/workos/directory_sync/dsync_user_created.rb +5 -5
  84. data/lib/workos/directory_sync/dsync_user_deleted.rb +5 -5
  85. data/lib/workos/directory_sync/dsync_user_updated.rb +5 -5
  86. data/lib/workos/directory_sync/dsync_user_updated_data.rb +3 -0
  87. data/lib/workos/directory_sync.rb +6 -6
  88. data/lib/workos/encryptors/aes_gcm.rb +19 -5
  89. data/lib/workos/events.rb +2 -2
  90. data/lib/workos/feature_flags/flag_created.rb +5 -5
  91. data/lib/workos/feature_flags/flag_deleted.rb +5 -5
  92. data/lib/workos/feature_flags/flag_rule_updated.rb +5 -5
  93. data/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb +1 -16
  94. data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb +1 -1
  95. data/lib/workos/feature_flags/flag_updated.rb +5 -5
  96. data/lib/workos/feature_flags.rb +6 -6
  97. data/lib/workos/{authorization → groups}/user_organization_membership_base_list_data.rb +5 -2
  98. data/lib/workos/groups.rb +4 -4
  99. data/lib/workos/inflections.rb +3 -1
  100. data/lib/workos/multi_factor_auth.rb +2 -2
  101. data/lib/workos/organization_domains/organization_domain_created.rb +5 -5
  102. data/lib/workos/organization_domains/organization_domain_deleted.rb +5 -5
  103. data/lib/workos/organization_domains/organization_domain_updated.rb +5 -5
  104. data/lib/workos/organization_domains/organization_domain_verification_failed.rb +5 -5
  105. data/lib/workos/organization_domains/organization_domain_verified.rb +5 -5
  106. data/lib/workos/{user_management → organization_membership}/organization_membership.rb +8 -2
  107. data/lib/workos/{user_management → organization_membership}/user_organization_membership.rb +8 -2
  108. data/lib/workos/organization_membership_service.rb +273 -0
  109. data/lib/workos/organizations/audit_logs_retention.rb +2 -7
  110. data/lib/workos/organizations/organization_created.rb +5 -5
  111. data/lib/workos/organizations/organization_deleted.rb +5 -5
  112. data/lib/workos/organizations/organization_membership_created.rb +5 -5
  113. data/lib/workos/organizations/organization_membership_deleted.rb +5 -5
  114. data/lib/workos/organizations/organization_membership_updated.rb +5 -5
  115. data/lib/workos/organizations/organization_role_created.rb +5 -5
  116. data/lib/workos/organizations/organization_role_deleted.rb +5 -5
  117. data/lib/workos/organizations/organization_role_updated.rb +5 -5
  118. data/lib/workos/organizations/organization_updated.rb +5 -5
  119. data/lib/workos/organizations.rb +2 -2
  120. data/lib/workos/pipes/connected_account.rb +6 -0
  121. data/lib/workos/pipes/connected_account_dto.rb +31 -0
  122. data/lib/workos/pipes/create_data_integration.rb +34 -0
  123. data/lib/workos/pipes/custom_provider_definition.rb +49 -0
  124. data/lib/workos/pipes/data_integration.rb +55 -0
  125. data/lib/workos/pipes/data_integration_credential.rb +25 -0
  126. data/lib/workos/pipes/data_integration_credentials_dto.rb +25 -0
  127. data/lib/workos/pipes/data_integration_credentials_response.rb +25 -0
  128. data/lib/workos/pipes/data_integration_credentials_response_credential.rb +34 -0
  129. data/lib/workos/pipes/data_integration_custom_provider.rb +49 -0
  130. data/lib/workos/pipes/data_integrations_list_response_data.rb +3 -0
  131. data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +6 -0
  132. data/lib/workos/pipes/data_integrations_upsert_api_key_request.rb +25 -0
  133. data/lib/workos/pipes/data_integrations_vend_credentials_request.rb +22 -0
  134. data/lib/workos/pipes/update_custom_provider_definition.rb +49 -0
  135. data/lib/workos/pipes/update_data_integration.rb +31 -0
  136. data/lib/workos/pipes.rb +309 -5
  137. data/lib/workos/pipes_provider/configure_data_integration_body.rb +28 -0
  138. data/lib/workos/pipes_provider/data_integration_configuration_list_response.rb +22 -0
  139. data/lib/workos/{directory_sync/dsync_deactivated_data.rb → pipes_provider/data_integration_configuration_response.rb} +13 -13
  140. data/lib/workos/pipes_provider/data_integration_credentials.rb +31 -0
  141. data/lib/workos/pipes_provider.rb +68 -0
  142. data/lib/workos/radar/radar_standalone_assess_request.rb +3 -6
  143. data/lib/workos/radar.rb +7 -10
  144. data/lib/workos/session.rb +28 -7
  145. data/lib/workos/session_manager.rb +24 -1
  146. data/lib/workos/shared/auth_method_mismatch_error.rb +22 -0
  147. data/lib/workos/shared/connect_application_m2m.rb +46 -0
  148. data/lib/workos/shared/connect_application_oauth.rb +58 -0
  149. data/lib/workos/shared/connect_application_oauth_redirect_uris.rb +22 -0
  150. data/lib/workos/shared/error_response.rb +18 -0
  151. data/lib/workos/shared/group_created.rb +5 -5
  152. data/lib/workos/shared/group_deleted.rb +5 -5
  153. data/lib/workos/shared/group_member_added.rb +5 -5
  154. data/lib/workos/shared/group_member_removed.rb +5 -5
  155. data/lib/workos/shared/group_updated.rb +5 -5
  156. data/lib/workos/shared/pipe_connected_account.rb +46 -0
  157. data/lib/workos/{directory_sync/dsync_deactivated.rb → shared/pipes_connected_account_connected.rb} +7 -7
  158. data/lib/workos/shared/pipes_connected_account_disconnected.rb +34 -0
  159. data/lib/workos/shared/pipes_connected_account_reauthorization_needed.rb +34 -0
  160. data/lib/workos/shared/waitlist_user_approved.rb +5 -5
  161. data/lib/workos/shared/waitlist_user_created.rb +5 -5
  162. data/lib/workos/shared/waitlist_user_denied.rb +5 -5
  163. data/lib/workos/sso/connection_activated.rb +5 -5
  164. data/lib/workos/sso/connection_deactivated.rb +5 -5
  165. data/lib/workos/sso/connection_deleted.rb +5 -5
  166. data/lib/workos/sso/connection_saml_certificate_renewal_required.rb +5 -5
  167. data/lib/workos/sso/connection_saml_certificate_renewed.rb +5 -5
  168. data/lib/workos/sso/profile.rb +3 -0
  169. data/lib/workos/sso.rb +2 -2
  170. data/lib/workos/types/audit_log_configuration_log_stream_type.rb +2 -1
  171. data/lib/workos/types/audit_log_export_state.rb +2 -1
  172. data/lib/workos/types/connected_account_auth_method.rb +13 -0
  173. data/lib/workos/types/connected_account_state.rb +1 -2
  174. data/lib/workos/types/create_webhook_endpoint_events.rb +12 -1
  175. data/lib/workos/types/custom_provider_definition_authenticate_via.rb +13 -0
  176. data/lib/workos/types/data_integration_access_token_response_error.rb +2 -2
  177. data/lib/workos/types/data_integration_credential_type.rb +13 -0
  178. data/lib/workos/types/data_integration_credentials_credentials_type.rb +14 -0
  179. data/lib/workos/types/{directories_order.rb → data_integration_credentials_response_error.rb} +1 -1
  180. data/lib/workos/types/{authorization_order.rb → data_integration_credentials_type.rb} +1 -1
  181. data/lib/workos/types/data_integration_custom_provider_authenticate_via.rb +9 -0
  182. data/lib/workos/types/data_integration_state.rb +14 -0
  183. data/lib/workos/types/{connections_order.rb → data_integrations_list_response_data_auth_methods.rb} +1 -1
  184. data/lib/workos/types/data_integrations_list_response_data_connected_account_auth_method.rb +9 -0
  185. data/lib/workos/types/data_integrations_list_response_data_connected_account_state.rb +6 -1
  186. data/lib/workos/types/event_context_actor_source.rb +2 -1
  187. data/lib/workos/types/{applications_order.rb → pagination_order.rb} +1 -1
  188. data/lib/workos/types/pipe_connected_account_state.rb +13 -0
  189. data/lib/workos/types/{radar_action.rb → radar_list_action.rb} +1 -1
  190. data/lib/workos/types/radar_list_type.rb +18 -0
  191. data/lib/workos/types/radar_standalone_assess_request_action.rb +1 -7
  192. data/lib/workos/types/radar_standalone_response_blocklist_type.rb +1 -10
  193. data/lib/workos/types/radar_standalone_response_control.rb +1 -4
  194. data/lib/workos/types/update_custom_provider_definition_authenticate_via.rb +9 -0
  195. data/lib/workos/types/user_management_authentication_screen_hint.rb +1 -5
  196. data/lib/workos/types/user_role_assignment_source_type.rb +13 -0
  197. data/lib/workos/types/{vault_byok_key_verification_completed_data_key_provider.rb → vault_byok_key_provider.rb} +1 -1
  198. data/{rbi/workos/types/request_options.rbi → lib/workos/types/vault_order.rb} +4 -3
  199. data/lib/workos/types/webhook_endpoint_status.rb +1 -5
  200. data/lib/workos/types/widget_session_token_scopes.rb +2 -1
  201. data/lib/workos/user_management/action_authentication_denied.rb +6 -6
  202. data/lib/workos/user_management/action_user_registration_denied.rb +6 -6
  203. data/lib/workos/user_management/authentication_email_verification_failed.rb +5 -5
  204. data/lib/workos/user_management/authentication_email_verification_succeeded.rb +5 -5
  205. data/lib/workos/user_management/authentication_magic_auth_failed.rb +5 -5
  206. data/lib/workos/user_management/authentication_magic_auth_succeeded.rb +5 -5
  207. data/lib/workos/user_management/authentication_mfa_failed.rb +5 -5
  208. data/lib/workos/user_management/authentication_mfa_succeeded.rb +5 -5
  209. data/lib/workos/user_management/authentication_oauth_failed.rb +5 -5
  210. data/lib/workos/user_management/authentication_oauth_succeeded.rb +5 -5
  211. data/lib/workos/user_management/authentication_passkey_failed.rb +5 -5
  212. data/lib/workos/user_management/authentication_passkey_succeeded.rb +5 -5
  213. data/lib/workos/user_management/authentication_password_failed.rb +5 -5
  214. data/lib/workos/user_management/authentication_password_succeeded.rb +5 -5
  215. data/lib/workos/user_management/authentication_radar_risk_detected.rb +5 -5
  216. data/lib/workos/user_management/authentication_sso_failed.rb +5 -5
  217. data/lib/workos/user_management/authentication_sso_started.rb +5 -5
  218. data/lib/workos/user_management/authentication_sso_succeeded.rb +5 -5
  219. data/lib/workos/user_management/authentication_sso_timed_out.rb +5 -5
  220. data/lib/workos/user_management/authorization_code_session_authenticate_request.rb +5 -2
  221. data/lib/workos/user_management/create_magic_code_and_return.rb +14 -2
  222. data/lib/workos/user_management/create_user.rb +12 -0
  223. data/lib/workos/user_management/create_user_api_key.rb +28 -0
  224. data/lib/workos/user_management/email_change_confirmation_user.rb +3 -0
  225. data/lib/workos/user_management/email_verification_created.rb +5 -5
  226. data/lib/workos/user_management/invitation_accepted.rb +5 -5
  227. data/lib/workos/user_management/invitation_created.rb +5 -5
  228. data/lib/workos/user_management/invitation_resent.rb +5 -5
  229. data/lib/workos/user_management/invitation_revoked.rb +5 -5
  230. data/lib/workos/user_management/magic_auth_code_session_authenticate_request.rb +5 -2
  231. data/lib/workos/user_management/magic_auth_created.rb +5 -5
  232. data/lib/workos/user_management/magic_auth_send_magic_auth_code_and_return_response.rb +43 -0
  233. data/lib/workos/user_management/password_reset_created.rb +5 -5
  234. data/lib/workos/user_management/password_reset_succeeded.rb +5 -5
  235. data/lib/workos/user_management/password_session_authenticate_request.rb +8 -2
  236. data/lib/workos/user_management/radar_email_challenge_code_session_authenticate_request.rb +43 -0
  237. data/lib/workos/user_management/radar_sms_challenge_code_session_authenticate_request.rb +46 -0
  238. data/lib/workos/user_management/revoke_session.rb +2 -6
  239. data/lib/workos/user_management/send_radar_sms_challenge.rb +31 -0
  240. data/lib/workos/user_management/send_radar_sms_challenge_response.rb +22 -0
  241. data/lib/workos/user_management/session_created.rb +5 -5
  242. data/lib/workos/user_management/session_revoked.rb +5 -5
  243. data/lib/workos/user_management/update_user.rb +3 -0
  244. data/lib/workos/user_management/user_api_key.rb +46 -0
  245. data/lib/workos/user_management/user_api_key_created_data_owner.rb +25 -0
  246. data/lib/workos/user_management/user_api_key_owner.rb +7 -0
  247. data/lib/workos/user_management/user_api_key_revoked_data_owner.rb +7 -0
  248. data/lib/workos/user_management/user_api_key_updated_data_owner.rb +7 -0
  249. data/lib/workos/{api_keys/api_key_with_value.rb → user_management/user_api_key_with_value.rb} +5 -2
  250. data/lib/workos/user_management/user_api_key_with_value_owner.rb +7 -0
  251. data/lib/workos/user_management/user_create_response.rb +61 -0
  252. data/lib/workos/user_management/user_created.rb +5 -5
  253. data/lib/workos/user_management/user_deleted.rb +5 -5
  254. data/lib/workos/user_management/user_updated.rb +5 -5
  255. data/lib/workos/user_management.rb +351 -202
  256. data/lib/workos/vault/actor.rb +22 -0
  257. data/lib/workos/vault/create_data_key_request.rb +18 -0
  258. data/lib/workos/vault/create_data_key_response.rb +28 -0
  259. data/lib/workos/vault/create_object_request.rb +25 -0
  260. data/lib/workos/vault/decrypt_request.rb +18 -0
  261. data/lib/workos/vault/decrypt_response.rb +22 -0
  262. data/lib/workos/vault/delete_object_response.rb +22 -0
  263. data/lib/workos/vault/object_metadata.rb +37 -0
  264. data/lib/workos/{audit_logs/audit_log_action_json.rb → vault/object_summary.rb} +4 -10
  265. data/lib/workos/vault/object_version.rb +31 -0
  266. data/lib/workos/vault/object_without_value.rb +25 -0
  267. data/lib/workos/vault/rekey_request.rb +22 -0
  268. data/lib/workos/vault/update_object_request.rb +22 -0
  269. data/lib/workos/vault/vault_byok_key_deleted.rb +34 -0
  270. data/lib/workos/vault/vault_byok_key_deleted_data.rb +22 -0
  271. data/lib/workos/vault/vault_byok_key_verification_completed.rb +5 -5
  272. data/lib/workos/vault/vault_data_created.rb +5 -5
  273. data/lib/workos/vault/vault_data_deleted.rb +5 -5
  274. data/lib/workos/vault/vault_data_read.rb +5 -5
  275. data/lib/workos/vault/vault_data_updated.rb +5 -5
  276. data/lib/workos/vault/vault_dek_decrypted.rb +5 -5
  277. data/lib/workos/vault/vault_dek_read.rb +5 -5
  278. data/lib/workos/vault/vault_kek_created.rb +5 -5
  279. data/lib/workos/vault/vault_metadata_read.rb +5 -5
  280. data/lib/workos/vault/vault_names_listed.rb +5 -5
  281. data/lib/workos/vault/vault_object.rb +28 -0
  282. data/lib/workos/vault/version_list_response.rb +22 -0
  283. data/lib/workos/vault.rb +273 -139
  284. data/lib/workos/version.rb +1 -1
  285. data/lib/workos/webhooks/webhook_endpoint.rb +2 -7
  286. data/lib/workos/webhooks.rb +10 -11
  287. data/lib/workos/widgets/widget_session_token_response.rb +1 -12
  288. data/lib/workos.rb +3 -0
  289. data/rbi/workos/action_authentication_denied.rbi +10 -10
  290. data/rbi/workos/action_user_registration_denied.rbi +10 -10
  291. data/rbi/workos/actor.rbi +30 -0
  292. data/rbi/workos/admin_portal.rbi +1 -2
  293. data/rbi/workos/api_key.rbi +8 -2
  294. data/rbi/workos/api_key_created.rbi +6 -6
  295. data/rbi/workos/api_key_created_data.rbi +8 -2
  296. data/rbi/workos/api_key_revoked.rbi +6 -6
  297. data/rbi/workos/api_key_revoked_data.rbi +8 -2
  298. data/rbi/workos/{dsync_deactivated.rbi → api_key_updated.rbi} +9 -9
  299. data/rbi/workos/api_key_updated_data.rbi +84 -0
  300. data/rbi/workos/{api_key_with_value_owner.rbi → api_key_updated_data_owner.rbi} +1 -1
  301. data/rbi/workos/{audit_logs_retention_json.rbi → api_key_updated_data_previous_attribute.rbi} +5 -5
  302. data/rbi/workos/api_keys.rbi +27 -17
  303. data/rbi/workos/audit_log_action.rbi +1 -0
  304. data/rbi/workos/audit_log_export.rbi +1 -0
  305. data/rbi/workos/audit_log_schema.rbi +18 -0
  306. data/rbi/workos/{audit_log_schema_json_actor.rbi → audit_log_schema_actor_input.rbi} +1 -1
  307. data/rbi/workos/audit_log_schema_input.rbi +36 -0
  308. data/rbi/workos/{audit_log_schema_json_target.rbi → audit_log_schema_target_input.rbi} +1 -1
  309. data/rbi/workos/audit_logs.rbi +9 -9
  310. data/rbi/workos/audit_logs_retention.rbi +1 -0
  311. data/rbi/workos/auth_method_mismatch_error.rbi +30 -0
  312. data/rbi/workos/authentication_email_verification_failed.rbi +6 -6
  313. data/rbi/workos/authentication_email_verification_succeeded.rbi +6 -6
  314. data/rbi/workos/authentication_magic_auth_failed.rbi +6 -6
  315. data/rbi/workos/authentication_magic_auth_succeeded.rbi +6 -6
  316. data/rbi/workos/authentication_mfa_failed.rbi +6 -6
  317. data/rbi/workos/authentication_mfa_succeeded.rbi +6 -6
  318. data/rbi/workos/authentication_oauth_failed.rbi +6 -6
  319. data/rbi/workos/authentication_oauth_succeeded.rbi +6 -6
  320. data/rbi/workos/authentication_passkey_failed.rbi +6 -6
  321. data/rbi/workos/authentication_passkey_succeeded.rbi +6 -6
  322. data/rbi/workos/authentication_password_failed.rbi +6 -6
  323. data/rbi/workos/authentication_password_succeeded.rbi +6 -6
  324. data/rbi/workos/authentication_radar_risk_detected.rbi +6 -6
  325. data/rbi/workos/authentication_sso_failed.rbi +6 -6
  326. data/rbi/workos/authentication_sso_started.rbi +6 -6
  327. data/rbi/workos/authentication_sso_succeeded.rbi +6 -6
  328. data/rbi/workos/authentication_sso_timed_out.rbi +6 -6
  329. data/rbi/workos/authorization.rbi +97 -4
  330. data/rbi/workos/authorization_code_session_authenticate_request.rbi +8 -2
  331. data/rbi/workos/client.rbi +15 -6
  332. data/rbi/workos/client_api.rbi +22 -0
  333. data/rbi/workos/client_api_token.rbi +30 -0
  334. data/rbi/workos/client_api_token_response.rbi +24 -0
  335. data/rbi/workos/configure_data_integration_body.rbi +42 -0
  336. data/rbi/workos/connect_application.rbi +0 -12
  337. data/rbi/workos/{dsync_deactivated_data.rbi → connect_application_m2m.rbi} +19 -19
  338. data/rbi/workos/connect_application_oauth.rbi +102 -0
  339. data/rbi/workos/connect_application_oauth_redirect_uris.rbi +30 -0
  340. data/rbi/workos/connected_account.rbi +12 -0
  341. data/rbi/workos/connected_account_dto.rbi +48 -0
  342. data/rbi/workos/connection_activated.rbi +6 -6
  343. data/rbi/workos/connection_deactivated.rbi +6 -6
  344. data/rbi/workos/connection_deleted.rbi +6 -6
  345. data/rbi/workos/connection_saml_certificate_renewal_required.rbi +6 -6
  346. data/rbi/workos/connection_saml_certificate_renewed.rbi +6 -6
  347. data/rbi/workos/create_data_integration.rbi +54 -0
  348. data/rbi/workos/create_data_key_request.rbi +24 -0
  349. data/rbi/workos/create_data_key_response.rbi +42 -0
  350. data/rbi/workos/create_group_role_assignment.rbi +42 -0
  351. data/rbi/workos/create_magic_code_and_return.rbi +24 -0
  352. data/rbi/workos/create_object_request.rbi +36 -0
  353. data/rbi/workos/create_organization_api_key.rbi +6 -0
  354. data/rbi/workos/create_user.rbi +24 -0
  355. data/rbi/workos/create_user_api_key.rbi +42 -0
  356. data/rbi/workos/custom_provider_definition.rbi +84 -0
  357. data/rbi/workos/data_integration.rbi +96 -0
  358. data/rbi/workos/data_integration_configuration_list_response.rbi +30 -0
  359. data/rbi/workos/data_integration_configuration_response.rbi +78 -0
  360. data/rbi/workos/data_integration_credential.rbi +36 -0
  361. data/rbi/workos/data_integration_credentials.rbi +48 -0
  362. data/rbi/workos/data_integration_credentials_dto.rbi +36 -0
  363. data/rbi/workos/data_integration_credentials_response.rbi +36 -0
  364. data/rbi/workos/data_integration_credentials_response_credential.rbi +54 -0
  365. data/rbi/workos/data_integration_custom_provider.rbi +84 -0
  366. data/rbi/workos/data_integrations_list_response_data.rbi +6 -0
  367. data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +12 -0
  368. data/rbi/workos/data_integrations_upsert_api_key_request.rbi +36 -0
  369. data/rbi/workos/data_integrations_vend_credentials_request.rbi +30 -0
  370. data/rbi/workos/decrypt_request.rbi +24 -0
  371. data/rbi/workos/decrypt_response.rbi +30 -0
  372. data/rbi/workos/delete_group_role_assignments_by_criteria.rbi +42 -0
  373. data/rbi/workos/delete_object_response.rbi +30 -0
  374. data/rbi/workos/directory_user.rbi +6 -0
  375. data/rbi/workos/directory_user_with_groups.rbi +6 -0
  376. data/rbi/workos/dsync_activated.rbi +6 -6
  377. data/rbi/workos/dsync_deleted.rbi +6 -6
  378. data/rbi/workos/dsync_group_created.rbi +6 -6
  379. data/rbi/workos/dsync_group_deleted.rbi +6 -6
  380. data/rbi/workos/dsync_group_updated.rbi +6 -6
  381. data/rbi/workos/dsync_group_user_added.rbi +6 -6
  382. data/rbi/workos/dsync_group_user_removed.rbi +6 -6
  383. data/rbi/workos/dsync_token_created.rbi +54 -0
  384. data/rbi/workos/{audit_log_export_json.rbi → dsync_token_created_data.rbi} +9 -9
  385. data/rbi/workos/dsync_token_revoked.rbi +54 -0
  386. data/rbi/workos/{audit_log_action_json.rbi → dsync_token_revoked_data.rbi} +17 -11
  387. data/rbi/workos/dsync_user_created.rbi +6 -6
  388. data/rbi/workos/dsync_user_deleted.rbi +6 -6
  389. data/rbi/workos/dsync_user_updated.rbi +6 -6
  390. data/rbi/workos/dsync_user_updated_data.rbi +6 -0
  391. data/rbi/workos/email_change_confirmation_user.rbi +6 -0
  392. data/rbi/workos/email_verification_created.rbi +6 -6
  393. data/rbi/workos/error_response.rbi +24 -0
  394. data/rbi/workos/expire_api_key.rbi +24 -0
  395. data/rbi/workos/flag_created.rbi +6 -6
  396. data/rbi/workos/flag_deleted.rbi +6 -6
  397. data/rbi/workos/flag_rule_updated.rbi +6 -6
  398. data/rbi/workos/flag_updated.rbi +6 -6
  399. data/rbi/workos/generate_link.rbi +0 -6
  400. data/rbi/workos/group_created.rbi +6 -6
  401. data/rbi/workos/group_deleted.rbi +6 -6
  402. data/rbi/workos/group_member_added.rbi +6 -6
  403. data/rbi/workos/group_member_removed.rbi +6 -6
  404. data/rbi/workos/{role_assignment.rbi → group_role_assignment.rbi} +9 -3
  405. data/rbi/workos/group_role_assignment_resource.rbi +36 -0
  406. data/rbi/workos/group_updated.rbi +6 -6
  407. data/rbi/workos/invitation_accepted.rbi +6 -6
  408. data/rbi/workos/invitation_created.rbi +6 -6
  409. data/rbi/workos/invitation_resent.rbi +6 -6
  410. data/rbi/workos/invitation_revoked.rbi +6 -6
  411. data/rbi/workos/magic_auth_code_session_authenticate_request.rbi +6 -0
  412. data/rbi/workos/magic_auth_created.rbi +6 -6
  413. data/rbi/workos/{webhook_endpoint_json.rbi → magic_auth_send_magic_auth_code_and_return_response.rbi} +19 -13
  414. data/rbi/workos/object_metadata.rbi +60 -0
  415. data/rbi/workos/object_summary.rbi +36 -0
  416. data/rbi/workos/object_version.rbi +48 -0
  417. data/rbi/workos/object_without_value.rbi +36 -0
  418. data/rbi/workos/organization_api_key.rbi +78 -0
  419. data/rbi/workos/organization_api_key_owner.rbi +30 -0
  420. data/rbi/workos/organization_api_key_with_value.rbi +84 -0
  421. data/rbi/workos/organization_api_key_with_value_owner.rbi +30 -0
  422. data/rbi/workos/organization_created.rbi +6 -6
  423. data/rbi/workos/organization_deleted.rbi +6 -6
  424. data/rbi/workos/organization_domain_created.rbi +6 -6
  425. data/rbi/workos/organization_domain_deleted.rbi +6 -6
  426. data/rbi/workos/organization_domain_updated.rbi +6 -6
  427. data/rbi/workos/organization_domain_verification_failed.rbi +6 -6
  428. data/rbi/workos/organization_domain_verified.rbi +6 -6
  429. data/rbi/workos/organization_membership.rbi +12 -0
  430. data/rbi/workos/organization_membership_created.rbi +6 -6
  431. data/rbi/workos/organization_membership_deleted.rbi +6 -6
  432. data/rbi/workos/organization_membership_service.rbi +114 -0
  433. data/rbi/workos/organization_membership_updated.rbi +6 -6
  434. data/rbi/workos/organization_role_created.rbi +6 -6
  435. data/rbi/workos/organization_role_deleted.rbi +6 -6
  436. data/rbi/workos/organization_role_updated.rbi +6 -6
  437. data/rbi/workos/organization_updated.rbi +6 -6
  438. data/rbi/workos/password_reset_created.rbi +6 -6
  439. data/rbi/workos/password_reset_succeeded.rbi +6 -6
  440. data/rbi/workos/password_session_authenticate_request.rbi +12 -0
  441. data/rbi/workos/permission_created.rbi +6 -6
  442. data/rbi/workos/permission_deleted.rbi +6 -6
  443. data/rbi/workos/permission_updated.rbi +6 -6
  444. data/rbi/workos/pipe_connected_account.rbi +78 -0
  445. data/rbi/workos/pipes.rbi +105 -1
  446. data/rbi/workos/pipes_connected_account_connected.rbi +54 -0
  447. data/rbi/workos/pipes_connected_account_disconnected.rbi +54 -0
  448. data/rbi/workos/pipes_connected_account_reauthorization_needed.rbi +54 -0
  449. data/rbi/workos/pipes_provider.rbi +34 -0
  450. data/rbi/workos/profile.rbi +6 -0
  451. data/rbi/workos/radar.rbi +2 -3
  452. data/rbi/workos/radar_email_challenge_code_session_authenticate_request.rbi +72 -0
  453. data/rbi/workos/radar_sms_challenge_code_session_authenticate_request.rbi +78 -0
  454. data/rbi/workos/radar_standalone_assess_request.rbi +2 -8
  455. data/rbi/workos/refresh_token_session_authenticate_request.rbi +2 -2
  456. data/rbi/workos/rekey_request.rbi +30 -0
  457. data/rbi/workos/replace_group_role_assignment_entry.rbi +42 -0
  458. data/rbi/workos/replace_group_role_assignments.rbi +24 -0
  459. data/rbi/workos/revoke_session.rbi +0 -6
  460. data/rbi/workos/role_created.rbi +6 -6
  461. data/rbi/workos/role_deleted.rbi +6 -6
  462. data/rbi/workos/role_updated.rbi +6 -6
  463. data/rbi/workos/send_radar_sms_challenge.rbi +48 -0
  464. data/rbi/workos/send_radar_sms_challenge_response.rbi +30 -0
  465. data/rbi/workos/session_created.rbi +6 -6
  466. data/rbi/workos/session_manager.rbi +1 -1
  467. data/rbi/workos/session_revoked.rbi +6 -6
  468. data/rbi/workos/update_custom_provider_definition.rbi +84 -0
  469. data/rbi/workos/update_data_integration.rbi +48 -0
  470. data/rbi/workos/update_object_request.rbi +30 -0
  471. data/rbi/workos/update_user.rbi +6 -0
  472. data/rbi/workos/user.rbi +6 -0
  473. data/rbi/workos/{api_key_with_value.rbi → user_api_key.rbi} +9 -9
  474. data/rbi/workos/user_api_key_created_data_owner.rbi +36 -0
  475. data/rbi/workos/{dsync_deactivated_data_domain.rbi → user_api_key_owner.rbi} +5 -5
  476. data/rbi/workos/user_api_key_revoked_data_owner.rbi +36 -0
  477. data/rbi/workos/user_api_key_updated_data_owner.rbi +36 -0
  478. data/rbi/workos/user_api_key_with_value.rbi +84 -0
  479. data/rbi/workos/user_api_key_with_value_owner.rbi +36 -0
  480. data/rbi/workos/user_create_response.rbi +108 -0
  481. data/rbi/workos/user_created.rbi +6 -6
  482. data/rbi/workos/user_deleted.rbi +6 -6
  483. data/rbi/workos/user_management.rbi +72 -86
  484. data/rbi/workos/user_object.rbi +6 -0
  485. data/rbi/workos/user_organization_membership.rbi +12 -0
  486. data/rbi/workos/user_organization_membership_base_list_data.rbi +6 -0
  487. data/rbi/workos/user_role_assignment.rbi +66 -0
  488. data/rbi/workos/{role_assignment_resource.rbi → user_role_assignment_resource.rbi} +1 -1
  489. data/rbi/workos/user_role_assignment_source.rbi +30 -0
  490. data/rbi/workos/user_updated.rbi +6 -6
  491. data/rbi/workos/vault.rbi +70 -95
  492. data/rbi/workos/vault_byok_key_deleted.rbi +54 -0
  493. data/rbi/workos/vault_byok_key_deleted_data.rbi +30 -0
  494. data/rbi/workos/vault_byok_key_verification_completed.rbi +6 -6
  495. data/rbi/workos/vault_data_created.rbi +6 -6
  496. data/rbi/workos/vault_data_deleted.rbi +6 -6
  497. data/rbi/workos/vault_data_read.rbi +6 -6
  498. data/rbi/workos/vault_data_updated.rbi +6 -6
  499. data/rbi/workos/vault_dek_decrypted.rbi +6 -6
  500. data/rbi/workos/vault_dek_read.rbi +6 -6
  501. data/rbi/workos/vault_kek_created.rbi +6 -6
  502. data/rbi/workos/vault_metadata_read.rbi +6 -6
  503. data/rbi/workos/vault_names_listed.rbi +6 -6
  504. data/rbi/workos/vault_object.rbi +42 -0
  505. data/rbi/workos/waitlist_user_approved.rbi +6 -6
  506. data/rbi/workos/waitlist_user_created.rbi +6 -6
  507. data/rbi/workos/waitlist_user_denied.rbi +6 -6
  508. data/rbi/workos/webhook_endpoint.rbi +1 -0
  509. data/rbi/workos/webhooks.rbi +2 -2
  510. data/renovate.json +1 -61
  511. data/script/docs +16 -0
  512. data/script/docs-serve +12 -0
  513. data/script/llms-txt +37 -0
  514. data/test/workos/test_actions.rb +9 -0
  515. data/test/workos/test_admin_portal_model_round_trip.rb +33 -0
  516. data/test/workos/test_api_keys.rb +20 -12
  517. data/test/workos/test_audit_logs_model_round_trip.rb +218 -0
  518. data/test/workos/test_authorization.rb +64 -0
  519. data/test/workos/test_authorization_model_round_trip.rb +456 -0
  520. data/test/workos/test_base_client.rb +108 -0
  521. data/test/workos/test_client_api.rb +33 -0
  522. data/test/workos/test_connect_model_round_trip.rb +30 -0
  523. data/test/workos/test_encryptors_aes_gcm.rb +16 -1
  524. data/test/workos/test_groups_model_round_trip.rb +33 -0
  525. data/test/workos/test_model_round_trip.rb +2 -7138
  526. data/test/workos/test_organization_membership_service.rb +107 -0
  527. data/test/workos/test_organizations_model_round_trip.rb +29 -0
  528. data/test/workos/test_pipes.rb +75 -3
  529. data/test/workos/test_pipes_model_round_trip.rb +389 -0
  530. data/test/workos/test_pipes_provider.rb +41 -0
  531. data/test/workos/test_radar_model_round_trip.rb +85 -0
  532. data/test/workos/test_session.rb +43 -4
  533. data/test/workos/test_shared_model_round_trip.rb +92 -0
  534. data/test/workos/test_user_management.rb +77 -73
  535. data/test/workos/test_user_management_model_round_trip.rb +1087 -0
  536. data/test/workos/test_vault.rb +91 -88
  537. data/test/workos/test_webhook_verify.rb +11 -0
  538. data/test/workos/test_webhooks_model_round_trip.rb +53 -0
  539. metadata +220 -85
  540. data/lib/workos/audit_logs/audit_log_schema_json.rb +0 -34
  541. data/lib/workos/organizations/audit_logs_retention_json.rb +0 -18
  542. data/lib/workos/types/audit_log_export_json_state.rb +0 -14
  543. data/lib/workos/types/directory_groups_order.rb +0 -9
  544. data/lib/workos/types/directory_users_order.rb +0 -9
  545. data/lib/workos/types/dsync_deactivated_data_state.rb +0 -9
  546. data/lib/workos/types/dsync_deactivated_data_type.rb +0 -9
  547. data/lib/workos/types/feature_flags_order.rb +0 -9
  548. data/lib/workos/types/groups_order.rb +0 -9
  549. data/lib/workos/types/organizations_api_keys_order.rb +0 -9
  550. data/lib/workos/types/organizations_feature_flags_order.rb +0 -9
  551. data/lib/workos/types/organizations_order.rb +0 -9
  552. data/lib/workos/types/permissions_order.rb +0 -9
  553. data/lib/workos/types/radar_type.rb +0 -9
  554. data/lib/workos/types/user_management_invitations_order.rb +0 -9
  555. data/lib/workos/types/user_management_multi_factor_authentication_order.rb +0 -9
  556. data/lib/workos/types/user_management_organization_membership_groups_order.rb +0 -9
  557. data/lib/workos/types/user_management_organization_membership_order.rb +0 -9
  558. data/lib/workos/types/user_management_users_authorized_applications_order.rb +0 -9
  559. data/lib/workos/types/user_management_users_feature_flags_order.rb +0 -9
  560. data/lib/workos/types/user_management_users_order.rb +0 -9
  561. data/lib/workos/types/webhook_endpoint_json_status.rb +0 -9
  562. data/lib/workos/types/webhooks_order.rb +0 -9
  563. data/lib/workos/user_management_organization_membership_groups.rb +0 -60
  564. data/lib/workos/webhooks/webhook_endpoint_json.rb +0 -40
  565. data/rbi/workos/actions.rbi +0 -48
  566. data/rbi/workos/audit_log_schema_json.rbi +0 -54
  567. data/rbi/workos/base_client.rbi +0 -132
  568. data/rbi/workos/configuration.rbi +0 -68
  569. data/rbi/workos/encryptors/aes_gcm.rbi +0 -19
  570. data/rbi/workos/errors.rbi +0 -43
  571. data/rbi/workos/hash_provider.rbi +0 -18
  572. data/rbi/workos/passwordless.rbi +0 -47
  573. data/rbi/workos/public_client.rbi +0 -12
  574. data/rbi/workos/session.rbi +0 -43
  575. data/rbi/workos/types/api_response.rbi +0 -29
  576. data/rbi/workos/types/base_model.rbi +0 -22
  577. data/rbi/workos/types/list_struct.rbi +0 -89
  578. data/rbi/workos/user_management_organization_membership_groups.rbi +0 -25
  579. data/rbi/workos/util.rbi +0 -12
  580. data/test/workos/test_user_management_organization_membership_groups.rb +0 -33
  581. /data/lib/workos/{user_management → organization_membership}/create_user_organization_membership.rb +0 -0
  582. /data/lib/workos/{user_management → organization_membership}/update_user_organization_membership.rb +0 -0
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "7.1.2"
2
+ ".": "9.5.0"
3
3
  }
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.3.11
1
+ 3.4.9
data/.yardopts ADDED
@@ -0,0 +1,6 @@
1
+ --output-dir docs/_site
2
+ --markup markdown
3
+ lib/**/*.rb
4
+ -
5
+ README.md
6
+ CHANGELOG.md
data/CHANGELOG.md CHANGED
@@ -1,5 +1,336 @@
1
1
  # Changelog
2
2
 
3
+ ## [9.5.0](https://github.com/workos/workos-ruby/compare/v9.4.0...v9.5.0) (2026-07-06)
4
+
5
+ * [#514](https://github.com/workos/workos-ruby/pull/514) fix(generated): regenerate from spec
6
+
7
+ **Features**
8
+ * **[user_management](https://workos.com/docs/reference/authkit/user)**:
9
+ * Added model `UserRoleAssignmentSource`
10
+ * Added `source` to `UserRoleAssignment`
11
+ * Added enum `UserRoleAssignmentSourceType`
12
+ * Added parameter `UserManagementAuthentication.authorize.max_age`
13
+ * Added endpoint `GET /user_management/cors_origins`
14
+ * Added endpoint `GET /user_management/redirect_uris`
15
+
16
+ **Fixes**
17
+ * Restore mistakenly removed CreateMagicAuth logic from previous release
18
+
19
+ ## [9.4.0](https://github.com/workos/workos-ruby/compare/v9.3.0...v9.4.0) (2026-07-02)
20
+
21
+ * [#508](https://github.com/workos/workos-ruby/pull/508) fix(generated): regenerate from spec
22
+
23
+ **Features**
24
+ * **[pipes](https://workos.com/docs/reference/pipes)**:
25
+ * Added model `DataIntegrationCredentialsResponse`
26
+ * Added model `DataIntegrationCredentialsResponseCredential`
27
+ * Added model `DataIntegrationsUpsertApiKeyRequest`
28
+ * Added model `DataIntegrationsVendCredentialsRequest`
29
+ * Added enum `DataIntegrationCredentialsResponseError`
30
+ * Added endpoint `PUT /data-integrations/{slug}/api-key`
31
+ * Added endpoint `POST /data-integrations/{slug}/credentials`
32
+
33
+ * [#510](https://github.com/workos/workos-ruby/pull/510) fix(generated): regenerate from spec
34
+
35
+ **⚠️ Breaking**
36
+ * **[user_management](https://workos.com/docs/reference/authkit/user)**:
37
+ * Removed model `SessionReauthenticated`
38
+ * Removed model `SessionReauthenticatedData`
39
+ * Removed model `SessionReauthenticatedDataImpersonator`
40
+ * Removed enum `SessionReauthenticatedDataAuthMethod`
41
+ * Removed enum `SessionReauthenticatedDataStatus`
42
+
43
+ **Features**
44
+ * **[webhooks](https://workos.com/docs/reference/webhooks)**:
45
+ * Added `agent.registration.created` to `CreateWebhookEndpointEvents`
46
+ * Added `agent.registration.claim.attempt.created` to `CreateWebhookEndpointEvents`
47
+ * Added `agent.registration.claim.completed` to `CreateWebhookEndpointEvents`
48
+ * Added `agent.registration.credential.issued` to `CreateWebhookEndpointEvents`
49
+ * Added `agent.registration.organization.switched` to `CreateWebhookEndpointEvents`
50
+ * Added `authentication.reauthentication_succeeded` to `CreateWebhookEndpointEvents`
51
+ * Added `agent.registration.created` to `UpdateWebhookEndpointEvents`
52
+ * Added `agent.registration.claim.attempt.created` to `UpdateWebhookEndpointEvents`
53
+ * Added `agent.registration.claim.completed` to `UpdateWebhookEndpointEvents`
54
+ * Added `agent.registration.credential.issued` to `UpdateWebhookEndpointEvents`
55
+ * Added `agent.registration.organization.switched` to `UpdateWebhookEndpointEvents`
56
+ * Added `authentication.reauthentication_succeeded` to `UpdateWebhookEndpointEvents`
57
+ * **[webhooks](https://workos.com/docs/reference/webhooks)**:
58
+ * Added `session.reauthenticated` to `CreateWebhookEndpointEvents`
59
+ * Added `session.reauthenticated` to `UpdateWebhookEndpointEvents`
60
+ * **[webhooks](https://workos.com/docs/reference/webhooks)**:
61
+ * Added `pipes.connected_account.connection_failed` to `CreateWebhookEndpointEvents`
62
+ * Added `pipes.connected_account.connection_failed` to `UpdateWebhookEndpointEvents`
63
+ * **[user_management](https://workos.com/docs/reference/authkit/user)**:
64
+ * Added model `UserRoleAssignmentSource`
65
+ * Added `source` to `UserRoleAssignment`
66
+ * Added enum `UserRoleAssignmentSourceType`
67
+ * Added parameter `UserManagementAuthentication.authorize.max_age`
68
+ * Added endpoint `GET /user_management/cors_origins`
69
+ * Added endpoint `GET /user_management/redirect_uris`
70
+ * **[audit_logs](https://workos.com/docs/reference/audit-logs)**:
71
+ * Changed the format of `AuditLogExportCreation.range_start`
72
+ * Changed the format of `AuditLogExportCreation.range_end`
73
+ * **[audit_logs](https://workos.com/docs/reference/audit-logs)**:
74
+ * Added `expired` to `AuditLogExportState`
75
+
76
+ **Fixes**
77
+ * **[admin_portal](https://workos.com/docs/reference/admin-portal)**:
78
+ * Removed `intent_options` from `GenerateLink`
79
+ * **[webhooks](https://workos.com/docs/reference/webhooks)**:
80
+ * Removed `session.reauthenticated` from `CreateWebhookEndpointEvents`
81
+ * Removed `session.reauthenticated` from `UpdateWebhookEndpointEvents`
82
+
83
+ * [#512](https://github.com/workos/workos-ruby/pull/512) feat(generated): regenerate from spec (1 change)
84
+
85
+ **Features**
86
+ * **[pipes](https://workos.com/docs/reference/pipes)**:
87
+ * Added model `DataIntegrationCredentialsDto`
88
+ * Added model `CustomProviderDefinition`
89
+ * Added model `CreateDataIntegration`
90
+ * Added model `UpdateCustomProviderDefinition`
91
+ * Added model `UpdateDataIntegration`
92
+ * Added model `DataIntegration`
93
+ * Added model `DataIntegrationList`
94
+ * Added model `DataIntegrationListListMetadata`
95
+ * Added model `DataIntegrationCredential`
96
+ * Added model `DataIntegrationCustomProvider`
97
+ * Added enum `DataIntegrationCredentialsType`
98
+ * Added enum `CustomProviderDefinitionAuthenticateVia`
99
+ * Added enum `UpdateCustomProviderDefinitionAuthenticateVia`
100
+ * Added enum `DataIntegrationState`
101
+ * Added enum `DataIntegrationCredentialType`
102
+ * Added enum `DataIntegrationCustomProviderAuthenticateVia`
103
+ * Added endpoint `GET /data-integrations`
104
+ * Added endpoint `POST /data-integrations`
105
+ * Added endpoint `GET /data-integrations/{slug}`
106
+ * Added endpoint `PUT /data-integrations/{slug}`
107
+ * Added endpoint `DELETE /data-integrations/{slug}`
108
+ * Added endpoint `POST /user_management/users/{user_id}/connected_accounts/{slug}`
109
+ * Added endpoint `PUT /user_management/users/{user_id}/connected_accounts/{slug}`
110
+
111
+ * [#513](https://github.com/workos/workos-ruby/pull/513) feat(generated): regenerate from spec (2 changes)
112
+
113
+ **Features**
114
+ * **[user_management](https://workos.com/docs/reference/authkit/user)**:
115
+ * Added model `SendRadarSmsChallenge`
116
+ * Added model `SendRadarSmsChallengeResponse`
117
+ * Added model `UrnWorkosOAuthGrantTypeRadarEmailChallengeCodeSessionAuthenticateRequest`
118
+ * Added model `UrnWorkosOAuthGrantTypeRadarSmsChallengeCodeSessionAuthenticateRequest`
119
+ * Added model `MagicAuthSendMagicAuthCodeAndReturnResponse`
120
+ * Added model `UserCreateResponse`
121
+ * Added `ip_address` to `CreateMagicCodeAndReturn`
122
+ * Added `user_agent` to `CreateMagicCodeAndReturn`
123
+ * Added `radar_auth_attempt_id` to `CreateMagicCodeAndReturn`
124
+ * Added `signals_id` to `CreateMagicCodeAndReturn`
125
+ * Added `ip_address` to `CreateUser`
126
+ * Added `user_agent` to `CreateUser`
127
+ * Added `signals_id` to `CreateUser`
128
+ * Added `signals_id` to `AuthorizationCodeSessionAuthenticateRequest`
129
+ * Added `signals_id` to `PasswordSessionAuthenticateRequest`
130
+ * Added `radar_auth_attempt_id` to `PasswordSessionAuthenticateRequest`
131
+ * Added `radar_auth_attempt_id` to `UrnWorkosOAuthGrantTypeMagicAuthCodeSessionAuthenticateRequest`
132
+ * Added endpoint `POST /user_management/radar_challenges`
133
+ * **[radar](https://workos.com/docs/reference/radar)**:
134
+ * Added `signals_id` to `RadarStandaloneAssessRequest`
135
+
136
+ **Fixes**
137
+ * **[user_management](https://workos.com/docs/reference/authkit/user)**:
138
+ * Changed request body for `UserManagementAuthentication.authenticate`
139
+ * Changed response of `UserManagementUsers.create` from `User` to `UserCreateResponse`
140
+ * Changed response of `UserManagementMagicAuth.sendMagicAuthCodeAndReturn` from `MagicAuth` to `MagicAuthSendMagicAuthCodeAndReturnResponse`
141
+
142
+ ## [9.3.0](https://github.com/workos/workos-ruby/compare/v9.2.0...v9.3.0) (2026-06-30)
143
+
144
+ * [#504](https://github.com/workos/workos-ruby/pull/504) fix(generated): regenerate from spec
145
+
146
+ **Fixes**
147
+ * **[organization_membership](https://workos.com/docs/reference/authkit/organization-membership)**:
148
+ * Added `roles` to organization membership models
149
+
150
+ ## [9.2.0](https://github.com/workos/workos-ruby/compare/v9.1.0...v9.2.0) (2026-06-18)
151
+
152
+ - [#501](https://github.com/workos/workos-ruby/pull/501) feat(generated)!: regenerate from spec (12 changes)
153
+
154
+ **Features**
155
+ - **[authorization](https://workos.com/docs/reference/fga)**:
156
+ - Added model `ReplaceGroupRoleAssignmentEntry`
157
+ - Added model `ReplaceGroupRoleAssignments`
158
+ - Added model `DeleteGroupRoleAssignmentsByCriteria`
159
+ - Added endpoint `POST /authorization/groups/{group_id}/role_assignments`
160
+ - Added endpoint `PUT /authorization/groups/{group_id}/role_assignments`
161
+ - Added endpoint `DELETE /authorization/groups/{group_id}/role_assignments`
162
+ - Added endpoint `GET /authorization/groups/{group_id}/role_assignments/{role_assignment_id}`
163
+ - Added endpoint `DELETE /authorization/groups/{group_id}/role_assignments/{role_assignment_id}`
164
+ - **[client](https://workos.com/docs/reference)**:
165
+ - Added model `ClientApiToken`
166
+ - Added model `ClientApiTokenResponse`
167
+ - Added service `Client`
168
+ - **[connect](https://workos.com/docs/reference/workos-connect/standalone)**:
169
+ - Added `auth_method` to `ConnectedAccount`
170
+ - Added `api_key_last_4` to `ConnectedAccount`
171
+ - Added enum `ConnectedAccountAuthMethod`
172
+ - **[groups](https://workos.com/docs/reference/groups)**:
173
+ - Added model `CreateGroupRoleAssignment`
174
+ - Added model `GroupRoleAssignment`
175
+ - Added model `GroupRoleAssignmentList`
176
+ - Added model `GroupRoleAssignmentResource`
177
+ - **[organization_membership](https://workos.com/docs/reference/authkit/organization-membership)**:
178
+ - Added model `UserOrganizationMembershipList`
179
+ - Added model `UserOrganizationMembershipListListMetadata`
180
+ - **[pipes](https://workos.com/docs/reference/pipes)**:
181
+ - Added model `DataIntegrationCredentials`
182
+ - Added model `DataIntegrationConfigurationResponse`
183
+ - Added model `DataIntegrationConfigurationListResponse`
184
+ - Added model `ConfigureDataIntegrationBody`
185
+ - Added `auth_methods` to `DataIntegrationsListResponseData`
186
+ - Added `auth_method` to `DataIntegrationsListResponseDataConnectedAccount`
187
+ - Added `api_key_last_4` to `DataIntegrationsListResponseDataConnectedAccount`
188
+ - Added enum `DataIntegrationCredentialsCredentialsType`
189
+ - Added enum `DataIntegrationsListResponseDataAuthMethods`
190
+ - Added enum `DataIntegrationsListResponseDataConnectedAccountAuthMethod`
191
+ - Added service `PipesProvider`
192
+ - **[user_management](https://workos.com/docs/reference/authkit/user)**:
193
+ - Added model `UserInviteList`
194
+ - Added model `UserInviteListListMetadata`
195
+ - Made `AuthorizationCodeSessionAuthenticateRequest.client_secret` optional
196
+ - Made `RefreshTokenSessionAuthenticateRequest.client_secret` optional
197
+ - **[widgets](https://workos.com/docs/reference/widgets)**:
198
+ - Added `widgets:pipes:manage` to `WidgetSessionTokenScopes`
199
+
200
+ **Fixes**
201
+ - **[organization_membership](https://workos.com/docs/reference/authkit/organization-membership)**:
202
+ - Changed response of `UserManagementOrganizationMembership.list` from `UserOrganizationMembership` to `UserOrganizationMembershipList`
203
+ - **[user_management](https://workos.com/docs/reference/authkit/user)**:
204
+ - Changed response of `UserManagementInvitations.list` from `UserInvite` to `UserInviteList`
205
+
206
+ ## [9.1.0](https://github.com/workos/workos-ruby/compare/v9.0.0...v9.1.0) (2026-06-17)
207
+
208
+ ### Bug Fixes
209
+
210
+ * **renovate:** explicitly enable minor and patch updates ([#493](https://github.com/workos/workos-ruby/issues/493)) ([c6da3f3](https://github.com/workos/workos-ruby/commit/c6da3f3acdf4dd7a6a65b3ae6463102ff0c024e1))
211
+ * Use Thread.current[] instead of Fiber[] for connection cache ([#499](https://github.com/workos/workos-ruby/issues/499)) ([a44d650](https://github.com/workos/workos-ruby/commit/a44d6500b29d05fe7a5a0ac7449d1a4bee88fd38))
212
+
213
+ - [#495](https://github.com/workos/workos-ruby/pull/495) feat(generated): regenerate from spec (8 changes)
214
+
215
+ **Features**
216
+ - **[api_keys](https://workos.com/docs/reference/authkit/api-keys)**:
217
+ - Added model `ExpireApiKey`
218
+ - Added model `ApiKeyUpdated`
219
+ - Added model `ApiKeyUpdatedData`
220
+ - Added model `ApiKeyUpdatedDataOwner`
221
+ - Added model `UserApiKeyUpdatedDataOwner`
222
+ - Added model `ApiKeyUpdatedDataPreviousAttribute`
223
+ - Added endpoint `POST /api_keys/{id}/expire`
224
+ - **[audit_logs](https://workos.com/docs/reference/audit-logs)**:
225
+ - Added `Snowflake` to `AuditLogConfigurationLogStreamType`
226
+ - **[connect](https://workos.com/docs/reference/workos-connect/standalone)**:
227
+ - Added `name` to `UserObject`
228
+ - **[directory_sync](https://workos.com/docs/reference/directory-sync)**:
229
+ - Added model `DsyncTokenCreated`
230
+ - Added model `DsyncTokenCreatedData`
231
+ - Added model `DsyncTokenRevoked`
232
+ - Added model `DsyncTokenRevokedData`
233
+ - **[user_management](https://workos.com/docs/reference/authkit/user)**:
234
+ - Added `name` to user management models
235
+ - **[webhooks](https://workos.com/docs/reference/webhooks)**:
236
+ - Added `api_key.updated` to `CreateWebhookEndpointEvents`
237
+ - Added `api_key.updated` to `UpdateWebhookEndpointEvents`
238
+
239
+ ## [9.0.0](https://github.com/workos/workos-ruby/compare/v8.0.1...v9.0.0) (2026-05-26)
240
+
241
+ ### Bug Fixes
242
+
243
+ * **ci:** extract version from PR title in changelog inline step ([93768a1](https://github.com/workos/workos-ruby/commit/93768a1c00aab7f82c869f38bea5925f6e8cd933))
244
+
245
+ * [#491](https://github.com/workos/workos-ruby/pull/491) feat(generated)!: regenerate from spec (9 changes)
246
+
247
+ **⚠️ Breaking**
248
+ * **organization_membership:** Migrate organization membership to dedicated service
249
+ * Moved organization membership methods from `UserManagement` to new `OrganizationMembershipService` class
250
+ * Methods `create_organization_membership`, `get_organization_membership`, `update_organization_membership`, `delete_organization_membership`, `deactivate_organization_membership`, `reactivate_organization_membership`, `list_organization_memberships`, and `list_organization_membership_groups` now accessed via `client.organization_membership` instead of `client.user_management`
251
+ * Removed `UserManagement::RoleSingle` and `UserManagement::RoleMultiple` data classes (moved to `OrganizationMembershipService`)
252
+ * **api_keys:** Add expires_at field to API key models
253
+ * Added `expires_at` optional field to `ApiKey`, `OrganizationApiKey`, `OrganizationApiKeyWithValue`, `UserApiKey`, and `UserApiKeyWithValue` models
254
+ * Added `expires_at` field to `CreateOrganizationApiKey` and `CreateUserApiKey` request models
255
+ * Updated `create_organization_api_key` and `create_user_api_key` methods to accept `expires_at` parameter
256
+ * **radar:** Remove device_fingerprint and bot_score fields from Radar
257
+ * Removed `device_fingerprint` and `bot_score` parameters from `Radar.create_attempt` method
258
+ * Removed `device_fingerprint` and `bot_score` fields from `RadarStandaloneAssessRequest` model
259
+ * Updated enum values in `RadarStandaloneAssessRequestAction`: removed `LOGIN`, `SIGNUP`, `SIGN_UP_2`, `SIGN_IN_2`, `SIGN_IN_3`, `SIGN_UP_3`; standardized to `SIGN_UP` and `SIGN_IN`
260
+ * Removed `CREDENTIAL_STUFFING` and `IP_SIGN_UP_RATE_LIMIT` from `RadarStandaloneResponseControl` enum
261
+ * **audit_logs:** Refactor audit logs models and type names
262
+ * Merged `AuditLogSchemaJson` fields into `AuditLogSchema`; removed `AuditLogSchemaJson` class
263
+ * Added new `AuditLogSchemaInput` class (write-side schema without read-only fields)
264
+ * Renamed `AuditLogSchemaJsonActor` to `AuditLogSchemaActorInput`
265
+ * Renamed `AuditLogSchemaJsonTarget` to `AuditLogSchemaTargetInput`
266
+ * Removed `AuditLogActionJson`; `AuditLogAction` now extends `BaseModel`
267
+ * Renamed `AuditLogExportJson` to `AuditLogExport` (now extends `BaseModel`)
268
+ * Renamed `AuditLogsRetentionJson` to `AuditLogsRetention` (now extends `BaseModel`)
269
+ * Removed `AuditLogExportJsonState` type; replaced with `AuditLogExportState`
270
+ * Updated `list_actions` method return type from `AuditLogActionJson` to `AuditLogAction`
271
+ * Updated `create_export` and `get_export` method return types from `AuditLogExportJson` to `AuditLogExport`
272
+ * **webhooks:** Rename WebhookEndpointJson to WebhookEndpoint
273
+ * Renamed `WebhookEndpointJson` to `WebhookEndpoint`
274
+ * Updated `list_webhook_endpoints`, `create_webhook_endpoint`, and `update_webhook_endpoint` method return types
275
+ * `WebhookEndpointStatus` is now an alias for `UpdateWebhookEndpointStatus` (no longer a standalone class); removed `WebhookEndpointJsonStatus` alias
276
+ * Updated `WebhookEndpoint` to extend `BaseModel` for consistency
277
+ * **authorization:** Add filtering parameters to authorization list methods
278
+ * Added `resource_id`, `resource_external_id`, `resource_type_slug` filter parameters to `list_role_assignments` method
279
+ * Added `role_slug` filter parameter to `list_role_assignments_for_resource_by_external_id` and `list_role_assignments_for_resource` methods
280
+ * Removed `search` parameter from `list_resources` method
281
+
282
+ **Features**
283
+ * **vault:** Add new Vault service with key-value operations
284
+ * Added new `Vault` service class with methods: `create_data_key`, `create_decrypt`, `create_rekey`, `list_kv`, `create_kv`, `get_name`, `get_kv`, `update_kv`, `delete_kv`, `list_kv_metadata`, `list_kv_versions`
285
+ * Added vault model classes: `Actor`, `CreateDataKeyRequest`, `CreateDataKeyResponse`, `CreateObjectRequest`, `DecryptRequest`, `DecryptResponse`, `DeleteObjectResponse`, `ObjectModel`, `ObjectMetadata`, `ObjectSummary`, `ObjectVersion`, `ObjectWithoutValue`, `RekeyRequest`, `UpdateObjectRequest`
286
+ * Added `VaultOrder` enum for sorting operations
287
+ * Added `client.vault` accessor to access the new service
288
+ * **pipes:** Add Pipes connected account event models
289
+ * Added `PipeConnectedAccount` model for representing connected accounts
290
+ * Added three new event models: `PipesConnectedAccountConnected`, `PipesConnectedAccountDisconnected`, `PipesConnectedAccountReauthorizationNeeded`
291
+ * Added `PipeConnectedAccountState` enum with `CONNECTED` and `NEEDS_REAUTHORIZATION` values
292
+ * Added new webhook event types to `CreateWebhookEndpointEvents` and `UpdateWebhookEndpointEvents`
293
+ * **generated:** Add Error and Actor shared models
294
+ * Added `Error` model in shared module for error responses
295
+ * Added `Actor` model in vault module representing user/actor information
296
+ * Updated inflections to map 'object' to 'ObjectModel' to avoid conflicts
297
+
298
+ ## [8.0.1](https://github.com/workos/workos-ruby/compare/v8.0.0...v8.0.1) (2026-05-12)
299
+
300
+
301
+ ### Bug Fixes
302
+
303
+ * harden session sealing, log redaction, and webhook tolerance checks ([#482](https://github.com/workos/workos-ruby/issues/482)) ([347fe1e](https://github.com/workos/workos-ruby/commit/347fe1edf296778d7ea331e666a7957870074b9f))
304
+
305
+ ## [8.0.0](https://github.com/workos/workos-ruby/compare/v7.1.2...v8.0.0) (2026-05-06)
306
+
307
+
308
+ ### ⚠ BREAKING CHANGES
309
+
310
+ * **authorization:** Consolidate order enums to PaginationOrder
311
+ * **api_keys:** Separate organization and user API key types
312
+ * **user_management:** Consolidate order enums to PaginationOrder
313
+ * **vault:** Add BYOK key deleted event and consolidate key provider enum
314
+ * **types:** Consolidate pagination order enums
315
+ * **authorization:** Rename RoleAssignment to UserRoleAssignment
316
+
317
+ ### Features
318
+
319
+ * **api_keys:** Separate organization and user API key types ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
320
+ * **authorization:** Add new role assignment listing endpoints ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
321
+ * **authorization:** Consolidate order enums to PaginationOrder ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
322
+ * **authorization:** Rename RoleAssignment to UserRoleAssignment ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
323
+ * **directory_sync:** Add name field to directory users ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
324
+ * **docs:** publish YARD API docs + llms.txt to GitHub Pages ([#480](https://github.com/workos/workos-ruby/issues/480)) ([117eeac](https://github.com/workos/workos-ruby/commit/117eeac5d25c896c7a9b989592f3525f51e52a3d))
325
+ * **events:** Add admin_portal source to event context actor ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
326
+ * **sso:** Add name field to SSO profile ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
327
+ * **types:** Consolidate pagination order enums ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
328
+ * **user_management:** Add get JWT template endpoint ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
329
+ * **user_management:** Add user API key management ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
330
+ * **user_management:** Add user field to membership and organization membership ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
331
+ * **user_management:** Consolidate order enums to PaginationOrder ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
332
+ * **vault:** Add BYOK key deleted event and consolidate key provider enum ([956386a](https://github.com/workos/workos-ruby/commit/956386a27cb0f8a8707442fa98b74a317f3f9920))
333
+
3
334
  ## [7.1.2](https://github.com/workos/workos-ruby/compare/v7.1.1...v7.1.2) (2026-05-06)
4
335
 
5
336
 
data/Gemfile CHANGED
@@ -3,3 +3,9 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gemspec
6
+
7
+ group :docs do
8
+ gem "yard"
9
+ gem "yard-markdown"
10
+ gem "webrick"
11
+ end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- workos (7.1.2)
4
+ workos (9.5.0)
5
5
  jwt (~> 3.1)
6
6
  logger (~> 1.7)
7
7
  zeitwerk (~> 2.6)
@@ -17,10 +17,13 @@ GEM
17
17
  crack (1.0.1)
18
18
  bigdecimal
19
19
  rexml
20
+ csv (3.3.5)
21
+ date (3.5.1)
20
22
  drb (2.2.3)
23
+ erb (6.0.4)
21
24
  hashdiff (1.2.1)
22
25
  json (2.19.4)
23
- jwt (3.1.2)
26
+ jwt (3.2.0)
24
27
  base64
25
28
  language_server-protocol (3.17.0.5)
26
29
  lint_roller (1.1.0)
@@ -33,10 +36,17 @@ GEM
33
36
  ast (~> 2.4.1)
34
37
  racc
35
38
  prism (1.9.0)
39
+ psych (5.3.1)
40
+ date
41
+ stringio
36
42
  public_suffix (7.0.5)
37
43
  racc (1.8.1)
38
44
  rainbow (3.1.1)
39
45
  rake (13.4.2)
46
+ rdoc (7.2.0)
47
+ erb
48
+ psych (>= 4.0.0)
49
+ tsort
40
50
  regexp_parser (2.12.0)
41
51
  rexml (3.4.4)
42
52
  rubocop (1.84.2)
@@ -70,6 +80,8 @@ GEM
70
80
  standard-performance (1.9.0)
71
81
  lint_roller (~> 1.1)
72
82
  rubocop-performance (~> 1.26.0)
83
+ stringio (3.2.0)
84
+ tsort (0.2.0)
73
85
  unicode-display_width (3.2.0)
74
86
  unicode-emoji (~> 4.1)
75
87
  unicode-emoji (4.2.0)
@@ -77,6 +89,12 @@ GEM
77
89
  addressable (>= 2.8.0)
78
90
  crack (>= 0.3.2)
79
91
  hashdiff (>= 0.4.0, < 2.0.0)
92
+ webrick (1.9.2)
93
+ yard (0.9.44)
94
+ yard-markdown (0.7.1)
95
+ csv
96
+ rdoc
97
+ yard
80
98
  zeitwerk (2.7.5)
81
99
 
82
100
  PLATFORMS
@@ -89,7 +107,10 @@ DEPENDENCIES
89
107
  rake
90
108
  standard (~> 1.49)
91
109
  webmock (~> 3.26)
110
+ webrick
92
111
  workos!
112
+ yard
113
+ yard-markdown
93
114
 
94
115
  CHECKSUMS
95
116
  addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af
@@ -97,10 +118,13 @@ CHECKSUMS
97
118
  base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
98
119
  bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
99
120
  crack (1.0.1) sha256=ff4a10390cd31d66440b7524eb1841874db86201d5b70032028553130b6d4c7e
121
+ csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f
122
+ date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
100
123
  drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
124
+ erb (6.0.4) sha256=38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9
101
125
  hashdiff (1.2.1) sha256=9c079dbc513dfc8833ab59c0c2d8f230fa28499cc5efb4b8dd276cf931457cd1
102
126
  json (2.19.4) sha256=670a7d333fb3b18ca5b29cb255eb7bef099e40d88c02c80bd42a3f30fe5239ac
103
- jwt (3.1.2) sha256=af6991f19a6bb4060d618d9add7a66f0eeb005ac0bc017cd01f63b42e122d535
127
+ jwt (3.2.0) sha256=5419b1fe37b1da0982bd07051f573a8b8789ab724c2aa7e785e4784a3ed217d7
104
128
  language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
105
129
  lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
106
130
  logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
@@ -108,10 +132,12 @@ CHECKSUMS
108
132
  parallel (1.28.0) sha256=33e6de1484baf2524792d178b0913fc8eb94c628d6cfe45599ad4458c638c970
109
133
  parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54
110
134
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
135
+ psych (5.3.1) sha256=eb7a57cef10c9d70173ff74e739d843ac3b2c019a003de48447b2963d81b1974
111
136
  public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
112
137
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
113
138
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
114
139
  rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
140
+ rdoc (7.2.0) sha256=8650f76cd4009c3b54955eb5d7e3a075c60a57276766ebf36f9085e8c9f23192
115
141
  regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
116
142
  rexml (3.4.4) sha256=19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142
117
143
  rubocop (1.84.2) sha256=5692cea54168f3dc8cb79a6fe95c5424b7ea893c707ad7a4307b0585e88dbf5f
@@ -121,10 +147,15 @@ CHECKSUMS
121
147
  standard (1.54.0) sha256=7a4b08f83d9893083c8f03bc486f0feeb6a84d48233b40829c03ef4767ea0100
122
148
  standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
123
149
  standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
150
+ stringio (3.2.0) sha256=c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1
151
+ tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
124
152
  unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
125
153
  unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
126
154
  webmock (3.26.2) sha256=774556f2ea6371846cca68c01769b2eac0d134492d21f6d0ab5dd643965a4c90
127
- workos (7.1.2)
155
+ webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131
156
+ workos (9.5.0)
157
+ yard (0.9.44) sha256=eb087e9b631ccd887b049f303d489963945452d5e2a7eb49a5a74a7cf6887f28
158
+ yard-markdown (0.7.1) sha256=06c378632dfe7ba053be9ba469eb4701aa0470e36bcf7e5546f353eb90c1bfd1
128
159
  zeitwerk (2.7.5) sha256=d8da92128c09ea6ec62c949011b00ed4a20242b255293dd66bf41545398f73dd
129
160
 
130
161
  BUNDLED WITH
data/README.md CHANGED
@@ -139,6 +139,25 @@ user = WorkOS.client.user_management.create_user(
139
139
  puts user.id
140
140
  ```
141
141
 
142
+ ### Sealed sessions (cookie_password requirements)
143
+
144
+ When you use `client.session_manager` to seal session cookies, the
145
+ `cookie_password` you supply must be **at least 32 bytes** of high-entropy
146
+ secret material (typically 32 random bytes encoded as base64 or a 64-char
147
+ hex string). The SDK derives the AES-256-GCM key from this password via
148
+ SHA-256, and a passphrase shorter than 32 bytes makes the resulting key
149
+ materially easier to brute-force offline.
150
+
151
+ Generate a suitable secret once and store it as an environment variable:
152
+
153
+ ```sh
154
+ ruby -rsecurerandom -e 'puts SecureRandom.base64(32)'
155
+ ```
156
+
157
+ Anything shorter than 32 bytes (including `nil` or `""`) raises
158
+ `ArgumentError` at SDK init time — sealing or unsealing will not silently
159
+ proceed with a weakened key.
160
+
142
161
  ### Verify a webhook
143
162
 
144
163
  ```ruby
@@ -501,6 +501,27 @@ Session management was one of the largest refactors in v7. The old `WorkOS::Sess
501
501
 
502
502
  If your application seals session cookies, refreshes access tokens, or decodes the access-token JWT, every one of these call sites needs to be updated.
503
503
 
504
+ #### `cookie_password` minimum length (32 bytes)
505
+
506
+ v7 enforces a **minimum 32-byte length** on every `cookie_password` you supply
507
+ to the session manager (`load`, `seal_data`, `unseal_data`,
508
+ `seal_session_from_auth_response`, and the underlying `Encryptors::AesGcm`).
509
+
510
+ Anything shorter — including `nil` or `""` — now raises `ArgumentError` at the
511
+ moment the SDK is asked to seal or unseal. Older deployments that used a
512
+ short passphrase (e.g. a 16-character secret) will start erroring at app
513
+ boot or the next sealed-session request.
514
+
515
+ Pick a 32+ byte secret once and store it as an environment variable:
516
+
517
+ ```sh
518
+ ruby -rsecurerandom -e 'puts SecureRandom.base64(32)'
519
+ ```
520
+
521
+ The KDF itself (single-pass SHA-256) is unchanged in this release, so
522
+ existing sealed cookies continue to round-trip as long as the same
523
+ (now-length-validated) password is in use.
524
+
504
525
  #### Sealing a cookie from an authentication response
505
526
 
506
527
  In v6, you asked `authenticate_with_*` to seal the cookie for you:
@@ -35,7 +35,7 @@ module WorkOS
35
35
  def verify_header(payload:, sig_header:, secret:, tolerance: DEFAULT_TOLERANCE_SECONDS)
36
36
  timestamp_ms, signature_hash = parse_signature_header(sig_header)
37
37
  issued_at = timestamp_ms.to_i / 1000.0
38
- if (Time.now.to_f - issued_at) > tolerance
38
+ if (Time.now.to_f - issued_at).abs > tolerance
39
39
  raise WorkOS::SignatureVerificationError.new(
40
40
  message: "Timestamp outside the tolerance zone",
41
41
  http_status: nil
@@ -9,7 +9,6 @@ module WorkOS
9
9
  success_url: :success_url,
10
10
  organization: :organization,
11
11
  intent: :intent,
12
- intent_options: :intent_options,
13
12
  it_contact_emails: :it_contact_emails
14
13
  }.freeze
15
14
 
@@ -18,7 +17,6 @@ module WorkOS
18
17
  :success_url,
19
18
  :organization,
20
19
  :intent,
21
- :intent_options,
22
20
  :it_contact_emails
23
21
 
24
22
  def initialize(json)
@@ -27,7 +25,6 @@ module WorkOS
27
25
  @success_url = hash[:success_url]
28
26
  @organization = hash[:organization]
29
27
  @intent = hash[:intent]
30
- @intent_options = hash[:intent_options] ? WorkOS::IntentOptions.new(hash[:intent_options]) : nil
31
28
  @it_contact_emails = hash[:it_contact_emails] || []
32
29
  end
33
30
  end
@@ -15,7 +15,6 @@ module WorkOS
15
15
  # @param success_url [String, nil] The URL to redirect the admin to when they finish setup. If not specified, the success URL configured on the [Redirects](https://dashboard.workos.com/redirects) page will be used.
16
16
  # @param organization [String] An [Organization](https://workos.com/docs/reference/organization) identifier.
17
17
  # @param intent [WorkOS::Types::GenerateLinkIntent, nil] The intent of the Admin Portal. - `sso` - Launch Admin Portal for creating SSO connections - `dsync` - Launch Admin Portal for creating Directory Sync connections - `audit_logs` - Launch Admin Portal for viewing Audit Logs - `log_streams` - Launch Admin Portal for creating Log Streams - `domain_verification` - Launch Admin Portal for Domain Verification - `certificate_renewal` - Launch Admin Portal for renewing SAML Certificates - `bring_your_own_key` - Launch Admin Portal for configuring Bring Your Own Key
18
- # @param intent_options [WorkOS::IntentOptions, nil] Options to configure the Admin Portal based on the intent.
19
18
  # @param it_contact_emails [Array<String>, nil] The email addresses of the IT contacts to grant access to the Admin Portal for the given organization. Accepts up to 20 emails.
20
19
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
21
20
  # @return [WorkOS::PortalLinkResponse]
@@ -24,7 +23,6 @@ module WorkOS
24
23
  return_url: nil,
25
24
  success_url: nil,
26
25
  intent: nil,
27
- intent_options: nil,
28
26
  it_contact_emails: nil,
29
27
  request_options: {}
30
28
  )
@@ -33,7 +31,6 @@ module WorkOS
33
31
  "success_url" => success_url,
34
32
  "organization" => organization,
35
33
  "intent" => intent,
36
- "intent_options" => intent_options,
37
34
  "it_contact_emails" => it_contact_emails
38
35
  }.compact
39
36
  response = @client.request(
@@ -11,6 +11,7 @@ module WorkOS
11
11
  name: :name,
12
12
  obfuscated_value: :obfuscated_value,
13
13
  last_used_at: :last_used_at,
14
+ expires_at: :expires_at,
14
15
  permissions: :permissions,
15
16
  created_at: :created_at,
16
17
  updated_at: :updated_at
@@ -23,6 +24,7 @@ module WorkOS
23
24
  :name,
24
25
  :obfuscated_value,
25
26
  :last_used_at,
27
+ :expires_at,
26
28
  :permissions,
27
29
  :created_at,
28
30
  :updated_at
@@ -31,10 +33,11 @@ module WorkOS
31
33
  hash = self.class.normalize(json)
32
34
  @object = hash[:object]
33
35
  @id = hash[:id]
34
- @owner = hash[:owner] ? WorkOS::ApiKeyOwner.new(hash[:owner]) : nil
36
+ @owner = hash[:owner] ? (case hash[:owner][:type] when "organization" then WorkOS::ApiKeyOwner.new(hash[:owner]) when "user" then WorkOS::UserApiKeyOwner.new(hash[:owner]) else hash[:owner] end) : nil
35
37
  @name = hash[:name]
36
38
  @obfuscated_value = hash[:obfuscated_value]
37
39
  @last_used_at = hash[:last_used_at]
40
+ @expires_at = hash[:expires_at]
38
41
  @permissions = hash[:permissions] || []
39
42
  @created_at = hash[:created_at]
40
43
  @updated_at = hash[:updated_at]