workos 8.0.1 → 9.1.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 (389) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +2 -2
  3. data/.github/workflows/docs.yml +2 -2
  4. data/.github/workflows/lint.yml +2 -2
  5. data/.github/workflows/release-please.yml +199 -4
  6. data/.github/workflows/release.yml +2 -2
  7. data/.last-synced-sha +1 -1
  8. data/.oagen-manifest.json +154 -43
  9. data/.release-please-manifest.json +1 -1
  10. data/.ruby-version +1 -1
  11. data/CHANGELOG.md +92 -0
  12. data/Gemfile.lock +6 -6
  13. data/lib/workos/api_keys/api_key.rb +3 -0
  14. data/lib/workos/api_keys/api_key_created.rb +5 -5
  15. data/lib/workos/api_keys/api_key_created_data.rb +3 -0
  16. data/lib/workos/api_keys/api_key_revoked.rb +5 -5
  17. data/lib/workos/{audit_logs/audit_log_export_json.rb → api_keys/api_key_updated.rb} +10 -10
  18. data/lib/workos/api_keys/api_key_updated_data.rb +49 -0
  19. data/lib/workos/{directory_sync/dsync_deactivated_data_domain.rb → api_keys/api_key_updated_data_owner.rb} +1 -1
  20. data/lib/workos/api_keys/api_key_updated_data_previous_attribute.rb +18 -0
  21. data/lib/workos/api_keys/create_organization_api_key.rb +5 -2
  22. data/lib/workos/api_keys/expire_api_key.rb +18 -0
  23. data/lib/workos/api_keys/organization_api_key.rb +3 -0
  24. data/lib/workos/api_keys/organization_api_key_with_value.rb +3 -0
  25. data/lib/workos/api_keys.rb +29 -1
  26. data/lib/workos/audit_logs/audit_log_action.rb +2 -7
  27. data/lib/workos/audit_logs/audit_log_export.rb +2 -7
  28. data/lib/workos/audit_logs/audit_log_schema.rb +11 -2
  29. data/lib/workos/{types/radar_type.rb → audit_logs/audit_log_schema_actor_input.rb} +1 -3
  30. data/lib/workos/audit_logs/audit_log_schema_input.rb +25 -0
  31. data/lib/workos/audit_logs/audit_log_schema_target.rb +16 -1
  32. data/lib/workos/audit_logs/audit_log_schema_target_input.rb +7 -0
  33. data/lib/workos/audit_logs.rb +16 -16
  34. data/lib/workos/authorization/permission_created.rb +5 -5
  35. data/lib/workos/authorization/permission_deleted.rb +5 -5
  36. data/lib/workos/authorization/permission_updated.rb +5 -5
  37. data/lib/workos/authorization/role_created.rb +5 -5
  38. data/lib/workos/authorization/role_deleted.rb +5 -5
  39. data/lib/workos/authorization/role_updated.rb +5 -5
  40. data/lib/workos/authorization.rb +38 -22
  41. data/lib/workos/base_client.rb +19 -2
  42. data/lib/workos/client.rb +6 -6
  43. data/lib/workos/connect/connect_application.rb +12 -0
  44. data/lib/workos/{audit_logs/audit_log_schema_json_target.rb → connect/connect_application_redirect_uri.rb} +7 -7
  45. data/lib/workos/connect/user_object.rb +3 -0
  46. data/lib/workos/connect.rb +1 -1
  47. data/lib/workos/directory_sync/dsync_activated.rb +5 -5
  48. data/lib/workos/directory_sync/dsync_deleted.rb +5 -5
  49. data/lib/workos/directory_sync/dsync_group_created.rb +5 -5
  50. data/lib/workos/directory_sync/dsync_group_deleted.rb +5 -5
  51. data/lib/workos/directory_sync/dsync_group_updated.rb +5 -5
  52. data/lib/workos/directory_sync/dsync_group_user_added.rb +5 -5
  53. data/lib/workos/directory_sync/dsync_group_user_removed.rb +5 -5
  54. data/lib/workos/directory_sync/dsync_token_created.rb +34 -0
  55. data/lib/workos/directory_sync/dsync_token_created_data.rb +34 -0
  56. data/lib/workos/directory_sync/dsync_token_revoked.rb +34 -0
  57. data/lib/workos/{audit_logs/audit_log_schema_json_actor.rb → directory_sync/dsync_token_revoked_data.rb} +1 -1
  58. data/lib/workos/directory_sync/dsync_user_created.rb +5 -5
  59. data/lib/workos/directory_sync/dsync_user_deleted.rb +5 -5
  60. data/lib/workos/directory_sync/dsync_user_updated.rb +5 -5
  61. data/lib/workos/directory_sync.rb +2 -2
  62. data/lib/workos/events.rb +1 -1
  63. data/lib/workos/feature_flags/flag_created.rb +5 -5
  64. data/lib/workos/feature_flags/flag_deleted.rb +5 -5
  65. data/lib/workos/feature_flags/flag_rule_updated.rb +5 -5
  66. data/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb +1 -16
  67. data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb +1 -1
  68. data/lib/workos/feature_flags/flag_updated.rb +5 -5
  69. data/lib/workos/groups.rb +2 -2
  70. data/lib/workos/inflections.rb +3 -1
  71. data/lib/workos/organization_domains/organization_domain_created.rb +5 -5
  72. data/lib/workos/organization_domains/organization_domain_deleted.rb +5 -5
  73. data/lib/workos/organization_domains/organization_domain_updated.rb +5 -5
  74. data/lib/workos/organization_domains/organization_domain_verification_failed.rb +5 -5
  75. data/lib/workos/organization_domains/organization_domain_verified.rb +5 -5
  76. data/lib/workos/organization_membership_service.rb +273 -0
  77. data/lib/workos/organizations/audit_logs_retention.rb +2 -7
  78. data/lib/workos/organizations/organization_created.rb +5 -5
  79. data/lib/workos/organizations/organization_deleted.rb +5 -5
  80. data/lib/workos/organizations/organization_membership_created.rb +5 -5
  81. data/lib/workos/organizations/organization_membership_deleted.rb +5 -5
  82. data/lib/workos/organizations/organization_membership_updated.rb +5 -5
  83. data/lib/workos/organizations/organization_role_created.rb +5 -5
  84. data/lib/workos/organizations/organization_role_deleted.rb +5 -5
  85. data/lib/workos/organizations/organization_role_updated.rb +5 -5
  86. data/lib/workos/organizations/organization_updated.rb +5 -5
  87. data/lib/workos/organizations.rb +1 -1
  88. data/lib/workos/radar/radar_standalone_assess_request.rb +2 -8
  89. data/lib/workos/radar.rb +6 -12
  90. data/lib/workos/shared/connect_application_m2m.rb +46 -0
  91. data/lib/workos/shared/connect_application_oauth.rb +58 -0
  92. data/lib/workos/shared/connect_application_oauth_redirect_uris.rb +22 -0
  93. data/lib/workos/shared/error_response.rb +18 -0
  94. data/lib/workos/shared/group_created.rb +5 -5
  95. data/lib/workos/shared/group_deleted.rb +5 -5
  96. data/lib/workos/shared/group_member_added.rb +5 -5
  97. data/lib/workos/shared/group_member_removed.rb +5 -5
  98. data/lib/workos/shared/group_updated.rb +5 -5
  99. data/lib/workos/{directory_sync/dsync_deactivated_data.rb → shared/pipe_connected_account.rb} +15 -15
  100. data/lib/workos/{directory_sync/dsync_deactivated.rb → shared/pipes_connected_account_connected.rb} +7 -7
  101. data/lib/workos/shared/pipes_connected_account_disconnected.rb +34 -0
  102. data/lib/workos/shared/pipes_connected_account_reauthorization_needed.rb +34 -0
  103. data/lib/workos/shared/waitlist_user_approved.rb +5 -5
  104. data/lib/workos/shared/waitlist_user_created.rb +5 -5
  105. data/lib/workos/shared/waitlist_user_denied.rb +5 -5
  106. data/lib/workos/sso/connection_activated.rb +5 -5
  107. data/lib/workos/sso/connection_deactivated.rb +5 -5
  108. data/lib/workos/sso/connection_deleted.rb +5 -5
  109. data/lib/workos/sso/connection_saml_certificate_renewal_required.rb +5 -5
  110. data/lib/workos/sso/connection_saml_certificate_renewed.rb +5 -5
  111. data/lib/workos/types/audit_log_configuration_log_stream_type.rb +2 -1
  112. data/lib/workos/types/create_webhook_endpoint_events.rb +5 -1
  113. data/lib/workos/types/pipe_connected_account_state.rb +13 -0
  114. data/lib/workos/types/{radar_action.rb → radar_list_action.rb} +1 -1
  115. data/lib/workos/types/radar_list_type.rb +18 -0
  116. data/lib/workos/types/radar_standalone_assess_request_action.rb +1 -7
  117. data/lib/workos/types/radar_standalone_response_blocklist_type.rb +1 -10
  118. data/lib/workos/types/radar_standalone_response_control.rb +1 -4
  119. data/lib/workos/types/user_management_authentication_screen_hint.rb +1 -5
  120. data/{rbi/workos/types/request_options.rbi → lib/workos/types/vault_order.rb} +4 -3
  121. data/lib/workos/types/webhook_endpoint_status.rb +1 -5
  122. data/lib/workos/user_management/action_authentication_denied.rb +6 -6
  123. data/lib/workos/user_management/action_user_registration_denied.rb +6 -6
  124. data/lib/workos/user_management/authentication_email_verification_failed.rb +5 -5
  125. data/lib/workos/user_management/authentication_email_verification_succeeded.rb +5 -5
  126. data/lib/workos/user_management/authentication_magic_auth_failed.rb +5 -5
  127. data/lib/workos/user_management/authentication_magic_auth_succeeded.rb +5 -5
  128. data/lib/workos/user_management/authentication_mfa_failed.rb +5 -5
  129. data/lib/workos/user_management/authentication_mfa_succeeded.rb +5 -5
  130. data/lib/workos/user_management/authentication_oauth_failed.rb +5 -5
  131. data/lib/workos/user_management/authentication_oauth_succeeded.rb +5 -5
  132. data/lib/workos/user_management/authentication_passkey_failed.rb +5 -5
  133. data/lib/workos/user_management/authentication_passkey_succeeded.rb +5 -5
  134. data/lib/workos/user_management/authentication_password_failed.rb +5 -5
  135. data/lib/workos/user_management/authentication_password_succeeded.rb +5 -5
  136. data/lib/workos/user_management/authentication_radar_risk_detected.rb +5 -5
  137. data/lib/workos/user_management/authentication_sso_failed.rb +5 -5
  138. data/lib/workos/user_management/authentication_sso_started.rb +5 -5
  139. data/lib/workos/user_management/authentication_sso_succeeded.rb +5 -5
  140. data/lib/workos/user_management/authentication_sso_timed_out.rb +5 -5
  141. data/lib/workos/user_management/create_user.rb +3 -0
  142. data/lib/workos/user_management/create_user_api_key.rb +5 -2
  143. data/lib/workos/user_management/email_change_confirmation_user.rb +3 -0
  144. data/lib/workos/user_management/email_verification_created.rb +5 -5
  145. data/lib/workos/user_management/invitation_accepted.rb +5 -5
  146. data/lib/workos/user_management/invitation_created.rb +5 -5
  147. data/lib/workos/user_management/invitation_resent.rb +5 -5
  148. data/lib/workos/user_management/invitation_revoked.rb +5 -5
  149. data/lib/workos/user_management/magic_auth_created.rb +5 -5
  150. data/lib/workos/user_management/password_reset_created.rb +5 -5
  151. data/lib/workos/user_management/password_reset_succeeded.rb +5 -5
  152. data/lib/workos/user_management/revoke_session.rb +2 -6
  153. data/lib/workos/user_management/session_created.rb +5 -5
  154. data/lib/workos/user_management/session_revoked.rb +5 -5
  155. data/lib/workos/user_management/update_user.rb +3 -0
  156. data/lib/workos/user_management/user_api_key.rb +3 -0
  157. data/lib/workos/user_management/user_api_key_updated_data_owner.rb +7 -0
  158. data/lib/workos/user_management/user_api_key_with_value.rb +3 -0
  159. data/lib/workos/user_management/user_created.rb +5 -5
  160. data/lib/workos/user_management/user_deleted.rb +5 -5
  161. data/lib/workos/user_management/user_updated.rb +5 -5
  162. data/lib/workos/user_management.rb +16 -223
  163. data/lib/workos/vault/actor.rb +22 -0
  164. data/lib/workos/vault/create_data_key_request.rb +18 -0
  165. data/lib/workos/vault/create_data_key_response.rb +28 -0
  166. data/lib/workos/vault/create_object_request.rb +25 -0
  167. data/lib/workos/vault/decrypt_request.rb +18 -0
  168. data/lib/workos/vault/decrypt_response.rb +22 -0
  169. data/lib/workos/vault/delete_object_response.rb +22 -0
  170. data/lib/workos/vault/object_metadata.rb +37 -0
  171. data/lib/workos/{audit_logs/audit_log_action_json.rb → vault/object_summary.rb} +4 -10
  172. data/lib/workos/vault/object_version.rb +31 -0
  173. data/lib/workos/vault/object_without_value.rb +25 -0
  174. data/lib/workos/vault/rekey_request.rb +22 -0
  175. data/lib/workos/vault/update_object_request.rb +22 -0
  176. data/lib/workos/vault/vault_byok_key_deleted.rb +5 -5
  177. data/lib/workos/vault/vault_byok_key_verification_completed.rb +5 -5
  178. data/lib/workos/vault/vault_data_created.rb +5 -5
  179. data/lib/workos/vault/vault_data_deleted.rb +5 -5
  180. data/lib/workos/vault/vault_data_read.rb +5 -5
  181. data/lib/workos/vault/vault_data_updated.rb +5 -5
  182. data/lib/workos/vault/vault_dek_decrypted.rb +5 -5
  183. data/lib/workos/vault/vault_dek_read.rb +5 -5
  184. data/lib/workos/vault/vault_kek_created.rb +5 -5
  185. data/lib/workos/vault/vault_metadata_read.rb +5 -5
  186. data/lib/workos/vault/vault_names_listed.rb +5 -5
  187. data/lib/workos/vault/vault_object.rb +28 -0
  188. data/lib/workos/vault/version_list_response.rb +22 -0
  189. data/lib/workos/vault.rb +273 -139
  190. data/lib/workos/version.rb +1 -1
  191. data/lib/workos/webhooks/webhook_endpoint.rb +2 -7
  192. data/lib/workos/webhooks.rb +8 -9
  193. data/lib/workos.rb +1 -0
  194. data/rbi/workos/action_authentication_denied.rbi +10 -10
  195. data/rbi/workos/action_user_registration_denied.rbi +10 -10
  196. data/rbi/workos/actor.rbi +30 -0
  197. data/rbi/workos/api_key.rbi +6 -0
  198. data/rbi/workos/api_key_created.rbi +6 -6
  199. data/rbi/workos/api_key_created_data.rbi +6 -0
  200. data/rbi/workos/api_key_revoked.rbi +6 -6
  201. data/rbi/workos/api_key_revoked_data.rbi +6 -0
  202. data/rbi/workos/{dsync_deactivated.rbi → api_key_updated.rbi} +9 -9
  203. data/rbi/workos/api_key_updated_data.rbi +84 -0
  204. data/rbi/workos/api_key_updated_data_owner.rbi +30 -0
  205. data/rbi/workos/{audit_logs_retention_json.rbi → api_key_updated_data_previous_attribute.rbi} +5 -5
  206. data/rbi/workos/api_keys.rbi +11 -1
  207. data/rbi/workos/audit_log_action.rbi +1 -0
  208. data/rbi/workos/audit_log_export.rbi +1 -0
  209. data/rbi/workos/audit_log_schema.rbi +18 -0
  210. data/rbi/workos/{audit_log_schema_json_actor.rbi → audit_log_schema_actor_input.rbi} +1 -1
  211. data/rbi/workos/audit_log_schema_input.rbi +36 -0
  212. data/rbi/workos/{audit_log_schema_json_target.rbi → audit_log_schema_target_input.rbi} +1 -1
  213. data/rbi/workos/audit_logs.rbi +9 -9
  214. data/rbi/workos/audit_logs_retention.rbi +1 -0
  215. data/rbi/workos/authentication_email_verification_failed.rbi +6 -6
  216. data/rbi/workos/authentication_email_verification_succeeded.rbi +6 -6
  217. data/rbi/workos/authentication_magic_auth_failed.rbi +6 -6
  218. data/rbi/workos/authentication_magic_auth_succeeded.rbi +6 -6
  219. data/rbi/workos/authentication_mfa_failed.rbi +6 -6
  220. data/rbi/workos/authentication_mfa_succeeded.rbi +6 -6
  221. data/rbi/workos/authentication_oauth_failed.rbi +6 -6
  222. data/rbi/workos/authentication_oauth_succeeded.rbi +6 -6
  223. data/rbi/workos/authentication_passkey_failed.rbi +6 -6
  224. data/rbi/workos/authentication_passkey_succeeded.rbi +6 -6
  225. data/rbi/workos/authentication_password_failed.rbi +6 -6
  226. data/rbi/workos/authentication_password_succeeded.rbi +6 -6
  227. data/rbi/workos/authentication_radar_risk_detected.rbi +6 -6
  228. data/rbi/workos/authentication_sso_failed.rbi +6 -6
  229. data/rbi/workos/authentication_sso_started.rbi +6 -6
  230. data/rbi/workos/authentication_sso_succeeded.rbi +6 -6
  231. data/rbi/workos/authentication_sso_timed_out.rbi +6 -6
  232. data/rbi/workos/authorization.rbi +9 -5
  233. data/rbi/workos/client.rbi +6 -3
  234. data/rbi/workos/connect_application.rbi +0 -12
  235. data/rbi/workos/{dsync_deactivated_data.rbi → connect_application_m2m.rbi} +19 -19
  236. data/rbi/workos/connect_application_oauth.rbi +102 -0
  237. data/rbi/workos/connect_application_oauth_redirect_uris.rbi +30 -0
  238. data/rbi/workos/connection_activated.rbi +6 -6
  239. data/rbi/workos/connection_deactivated.rbi +6 -6
  240. data/rbi/workos/connection_deleted.rbi +6 -6
  241. data/rbi/workos/connection_saml_certificate_renewal_required.rbi +6 -6
  242. data/rbi/workos/connection_saml_certificate_renewed.rbi +6 -6
  243. data/rbi/workos/create_data_key_request.rbi +24 -0
  244. data/rbi/workos/create_data_key_response.rbi +42 -0
  245. data/rbi/workos/create_object_request.rbi +36 -0
  246. data/rbi/workos/create_organization_api_key.rbi +6 -0
  247. data/rbi/workos/create_user.rbi +6 -0
  248. data/rbi/workos/create_user_api_key.rbi +6 -0
  249. data/rbi/workos/decrypt_request.rbi +24 -0
  250. data/rbi/workos/decrypt_response.rbi +30 -0
  251. data/rbi/workos/delete_object_response.rbi +30 -0
  252. data/rbi/workos/dsync_activated.rbi +6 -6
  253. data/rbi/workos/dsync_deleted.rbi +6 -6
  254. data/rbi/workos/dsync_group_created.rbi +6 -6
  255. data/rbi/workos/dsync_group_deleted.rbi +6 -6
  256. data/rbi/workos/dsync_group_updated.rbi +6 -6
  257. data/rbi/workos/dsync_group_user_added.rbi +6 -6
  258. data/rbi/workos/dsync_group_user_removed.rbi +6 -6
  259. data/rbi/workos/dsync_token_created.rbi +54 -0
  260. data/rbi/workos/{audit_log_export_json.rbi → dsync_token_created_data.rbi} +9 -9
  261. data/rbi/workos/dsync_token_revoked.rbi +54 -0
  262. data/rbi/workos/{audit_log_action_json.rbi → dsync_token_revoked_data.rbi} +17 -11
  263. data/rbi/workos/dsync_user_created.rbi +6 -6
  264. data/rbi/workos/dsync_user_deleted.rbi +6 -6
  265. data/rbi/workos/dsync_user_updated.rbi +6 -6
  266. data/rbi/workos/email_change_confirmation_user.rbi +6 -0
  267. data/rbi/workos/email_verification_created.rbi +6 -6
  268. data/rbi/workos/error_response.rbi +24 -0
  269. data/rbi/workos/expire_api_key.rbi +24 -0
  270. data/rbi/workos/flag_created.rbi +6 -6
  271. data/rbi/workos/flag_deleted.rbi +6 -6
  272. data/rbi/workos/flag_rule_updated.rbi +6 -6
  273. data/rbi/workos/flag_updated.rbi +6 -6
  274. data/rbi/workos/group_created.rbi +6 -6
  275. data/rbi/workos/group_deleted.rbi +6 -6
  276. data/rbi/workos/group_member_added.rbi +6 -6
  277. data/rbi/workos/group_member_removed.rbi +6 -6
  278. data/rbi/workos/group_updated.rbi +6 -6
  279. data/rbi/workos/invitation_accepted.rbi +6 -6
  280. data/rbi/workos/invitation_created.rbi +6 -6
  281. data/rbi/workos/invitation_resent.rbi +6 -6
  282. data/rbi/workos/invitation_revoked.rbi +6 -6
  283. data/rbi/workos/magic_auth_created.rbi +6 -6
  284. data/rbi/workos/object_metadata.rbi +60 -0
  285. data/rbi/workos/object_summary.rbi +36 -0
  286. data/rbi/workos/object_version.rbi +48 -0
  287. data/rbi/workos/object_without_value.rbi +36 -0
  288. data/rbi/workos/organization_api_key.rbi +6 -0
  289. data/rbi/workos/organization_api_key_with_value.rbi +6 -0
  290. data/rbi/workos/organization_created.rbi +6 -6
  291. data/rbi/workos/organization_deleted.rbi +6 -6
  292. data/rbi/workos/organization_domain_created.rbi +6 -6
  293. data/rbi/workos/organization_domain_deleted.rbi +6 -6
  294. data/rbi/workos/organization_domain_updated.rbi +6 -6
  295. data/rbi/workos/organization_domain_verification_failed.rbi +6 -6
  296. data/rbi/workos/organization_domain_verified.rbi +6 -6
  297. data/rbi/workos/organization_membership_created.rbi +6 -6
  298. data/rbi/workos/organization_membership_deleted.rbi +6 -6
  299. data/rbi/workos/organization_membership_service.rbi +114 -0
  300. data/rbi/workos/organization_membership_updated.rbi +6 -6
  301. data/rbi/workos/organization_role_created.rbi +6 -6
  302. data/rbi/workos/organization_role_deleted.rbi +6 -6
  303. data/rbi/workos/organization_role_updated.rbi +6 -6
  304. data/rbi/workos/organization_updated.rbi +6 -6
  305. data/rbi/workos/password_reset_created.rbi +6 -6
  306. data/rbi/workos/password_reset_succeeded.rbi +6 -6
  307. data/rbi/workos/permission_created.rbi +6 -6
  308. data/rbi/workos/permission_deleted.rbi +6 -6
  309. data/rbi/workos/permission_updated.rbi +6 -6
  310. data/rbi/workos/{webhook_endpoint_json.rbi → pipe_connected_account.rbi} +23 -11
  311. data/rbi/workos/pipes_connected_account_connected.rbi +54 -0
  312. data/rbi/workos/pipes_connected_account_disconnected.rbi +54 -0
  313. data/rbi/workos/pipes_connected_account_reauthorization_needed.rbi +54 -0
  314. data/rbi/workos/radar.rbi +1 -3
  315. data/rbi/workos/radar_standalone_assess_request.rbi +0 -12
  316. data/rbi/workos/rekey_request.rbi +30 -0
  317. data/rbi/workos/revoke_session.rbi +0 -6
  318. data/rbi/workos/role_created.rbi +6 -6
  319. data/rbi/workos/role_deleted.rbi +6 -6
  320. data/rbi/workos/role_updated.rbi +6 -6
  321. data/rbi/workos/session_created.rbi +6 -6
  322. data/rbi/workos/session_manager.rbi +1 -1
  323. data/rbi/workos/session_revoked.rbi +6 -6
  324. data/rbi/workos/update_object_request.rbi +30 -0
  325. data/rbi/workos/update_user.rbi +6 -0
  326. data/rbi/workos/user.rbi +6 -0
  327. data/rbi/workos/user_api_key.rbi +6 -0
  328. data/rbi/workos/{dsync_deactivated_data_domain.rbi → user_api_key_updated_data_owner.rbi} +5 -5
  329. data/rbi/workos/user_api_key_with_value.rbi +6 -0
  330. data/rbi/workos/user_created.rbi +6 -6
  331. data/rbi/workos/user_deleted.rbi +6 -6
  332. data/rbi/workos/user_management.rbi +7 -94
  333. data/rbi/workos/user_object.rbi +6 -0
  334. data/rbi/workos/user_updated.rbi +6 -6
  335. data/rbi/workos/vault.rbi +70 -95
  336. data/rbi/workos/vault_byok_key_deleted.rbi +6 -6
  337. data/rbi/workos/vault_byok_key_verification_completed.rbi +6 -6
  338. data/rbi/workos/vault_data_created.rbi +6 -6
  339. data/rbi/workos/vault_data_deleted.rbi +6 -6
  340. data/rbi/workos/vault_data_read.rbi +6 -6
  341. data/rbi/workos/vault_data_updated.rbi +6 -6
  342. data/rbi/workos/vault_dek_decrypted.rbi +6 -6
  343. data/rbi/workos/vault_dek_read.rbi +6 -6
  344. data/rbi/workos/vault_kek_created.rbi +6 -6
  345. data/rbi/workos/vault_metadata_read.rbi +6 -6
  346. data/rbi/workos/vault_names_listed.rbi +6 -6
  347. data/rbi/workos/vault_object.rbi +42 -0
  348. data/rbi/workos/waitlist_user_approved.rbi +6 -6
  349. data/rbi/workos/waitlist_user_created.rbi +6 -6
  350. data/rbi/workos/waitlist_user_denied.rbi +6 -6
  351. data/rbi/workos/webhook_endpoint.rbi +1 -0
  352. data/rbi/workos/webhooks.rbi +2 -2
  353. data/renovate.json +1 -61
  354. data/test/workos/test_api_keys.rb +9 -1
  355. data/test/workos/test_base_client.rb +64 -0
  356. data/test/workos/test_model_round_trip.rb +740 -261
  357. data/test/workos/test_organization_membership_service.rb +107 -0
  358. data/test/workos/test_user_management.rb +0 -74
  359. data/test/workos/test_vault.rb +91 -88
  360. metadata +87 -54
  361. data/lib/workos/audit_logs/audit_log_schema_json.rb +0 -34
  362. data/lib/workos/organizations/audit_logs_retention_json.rb +0 -18
  363. data/lib/workos/types/audit_log_export_json_state.rb +0 -14
  364. data/lib/workos/types/dsync_deactivated_data_state.rb +0 -9
  365. data/lib/workos/types/dsync_deactivated_data_type.rb +0 -9
  366. data/lib/workos/types/webhook_endpoint_json_status.rb +0 -9
  367. data/lib/workos/user_management_organization_membership_groups.rb +0 -60
  368. data/lib/workos/webhooks/webhook_endpoint_json.rb +0 -40
  369. data/rbi/workos/actions.rbi +0 -48
  370. data/rbi/workos/audit_log_schema_json.rbi +0 -54
  371. data/rbi/workos/base_client.rbi +0 -132
  372. data/rbi/workos/configuration.rbi +0 -68
  373. data/rbi/workos/encryptors/aes_gcm.rbi +0 -19
  374. data/rbi/workos/errors.rbi +0 -43
  375. data/rbi/workos/hash_provider.rbi +0 -18
  376. data/rbi/workos/passwordless.rbi +0 -47
  377. data/rbi/workos/public_client.rbi +0 -12
  378. data/rbi/workos/session.rbi +0 -43
  379. data/rbi/workos/types/api_response.rbi +0 -29
  380. data/rbi/workos/types/base_model.rbi +0 -22
  381. data/rbi/workos/types/list_struct.rbi +0 -89
  382. data/rbi/workos/user_management_organization_membership_groups.rbi +0 -25
  383. data/rbi/workos/util.rbi +0 -12
  384. data/test/workos/test_user_management_organization_membership_groups.rb +0 -33
  385. /data/lib/workos/{authorization → groups}/user_organization_membership_base_list_data.rb +0 -0
  386. /data/lib/workos/{user_management → organization_membership}/create_user_organization_membership.rb +0 -0
  387. /data/lib/workos/{user_management → organization_membership}/organization_membership.rb +0 -0
  388. /data/lib/workos/{user_management → organization_membership}/update_user_organization_membership.rb +0 -0
  389. /data/lib/workos/{user_management → organization_membership}/user_organization_membership.rb +0 -0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,97 @@
1
1
  # Changelog
2
2
 
3
+ ## [9.1.0](https://github.com/workos/workos-ruby/compare/v9.0.0...v9.1.0) (2026-06-17)
4
+
5
+ ### Bug Fixes
6
+
7
+ * **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))
8
+ * 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))
9
+
10
+ - [#495](https://github.com/workos/workos-ruby/pull/495) feat(generated): regenerate from spec (8 changes)
11
+
12
+ **Features**
13
+ - **[api_keys](https://workos.com/docs/reference/authkit/api-keys)**:
14
+ - Added model `ExpireApiKey`
15
+ - Added model `ApiKeyUpdated`
16
+ - Added model `ApiKeyUpdatedData`
17
+ - Added model `ApiKeyUpdatedDataOwner`
18
+ - Added model `UserApiKeyUpdatedDataOwner`
19
+ - Added model `ApiKeyUpdatedDataPreviousAttribute`
20
+ - Added endpoint `POST /api_keys/{id}/expire`
21
+ - **[audit_logs](https://workos.com/docs/reference/audit-logs)**:
22
+ - Added `Snowflake` to `AuditLogConfigurationLogStreamType`
23
+ - **[connect](https://workos.com/docs/reference/workos-connect/standalone)**:
24
+ - Added `name` to `UserObject`
25
+ - **[directory_sync](https://workos.com/docs/reference/directory-sync)**:
26
+ - Added model `DsyncTokenCreated`
27
+ - Added model `DsyncTokenCreatedData`
28
+ - Added model `DsyncTokenRevoked`
29
+ - Added model `DsyncTokenRevokedData`
30
+ - **[user_management](https://workos.com/docs/reference/authkit/user)**:
31
+ - Added `name` to user management models
32
+ - **[webhooks](https://workos.com/docs/reference/webhooks)**:
33
+ - Added `api_key.updated` to `CreateWebhookEndpointEvents`
34
+ - Added `api_key.updated` to `UpdateWebhookEndpointEvents`
35
+
36
+ ## [9.0.0](https://github.com/workos/workos-ruby/compare/v8.0.1...v9.0.0) (2026-05-26)
37
+
38
+ ### Bug Fixes
39
+
40
+ * **ci:** extract version from PR title in changelog inline step ([93768a1](https://github.com/workos/workos-ruby/commit/93768a1c00aab7f82c869f38bea5925f6e8cd933))
41
+
42
+ * [#491](https://github.com/workos/workos-ruby/pull/491) feat(generated)!: regenerate from spec (9 changes)
43
+
44
+ **⚠️ Breaking**
45
+ * **organization_membership:** Migrate organization membership to dedicated service
46
+ * Moved organization membership methods from `UserManagement` to new `OrganizationMembershipService` class
47
+ * 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`
48
+ * Removed `UserManagement::RoleSingle` and `UserManagement::RoleMultiple` data classes (moved to `OrganizationMembershipService`)
49
+ * **api_keys:** Add expires_at field to API key models
50
+ * Added `expires_at` optional field to `ApiKey`, `OrganizationApiKey`, `OrganizationApiKeyWithValue`, `UserApiKey`, and `UserApiKeyWithValue` models
51
+ * Added `expires_at` field to `CreateOrganizationApiKey` and `CreateUserApiKey` request models
52
+ * Updated `create_organization_api_key` and `create_user_api_key` methods to accept `expires_at` parameter
53
+ * **radar:** Remove device_fingerprint and bot_score fields from Radar
54
+ * Removed `device_fingerprint` and `bot_score` parameters from `Radar.create_attempt` method
55
+ * Removed `device_fingerprint` and `bot_score` fields from `RadarStandaloneAssessRequest` model
56
+ * 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`
57
+ * Removed `CREDENTIAL_STUFFING` and `IP_SIGN_UP_RATE_LIMIT` from `RadarStandaloneResponseControl` enum
58
+ * **audit_logs:** Refactor audit logs models and type names
59
+ * Merged `AuditLogSchemaJson` fields into `AuditLogSchema`; removed `AuditLogSchemaJson` class
60
+ * Added new `AuditLogSchemaInput` class (write-side schema without read-only fields)
61
+ * Renamed `AuditLogSchemaJsonActor` to `AuditLogSchemaActorInput`
62
+ * Renamed `AuditLogSchemaJsonTarget` to `AuditLogSchemaTargetInput`
63
+ * Removed `AuditLogActionJson`; `AuditLogAction` now extends `BaseModel`
64
+ * Renamed `AuditLogExportJson` to `AuditLogExport` (now extends `BaseModel`)
65
+ * Renamed `AuditLogsRetentionJson` to `AuditLogsRetention` (now extends `BaseModel`)
66
+ * Removed `AuditLogExportJsonState` type; replaced with `AuditLogExportState`
67
+ * Updated `list_actions` method return type from `AuditLogActionJson` to `AuditLogAction`
68
+ * Updated `create_export` and `get_export` method return types from `AuditLogExportJson` to `AuditLogExport`
69
+ * **webhooks:** Rename WebhookEndpointJson to WebhookEndpoint
70
+ * Renamed `WebhookEndpointJson` to `WebhookEndpoint`
71
+ * Updated `list_webhook_endpoints`, `create_webhook_endpoint`, and `update_webhook_endpoint` method return types
72
+ * `WebhookEndpointStatus` is now an alias for `UpdateWebhookEndpointStatus` (no longer a standalone class); removed `WebhookEndpointJsonStatus` alias
73
+ * Updated `WebhookEndpoint` to extend `BaseModel` for consistency
74
+ * **authorization:** Add filtering parameters to authorization list methods
75
+ * Added `resource_id`, `resource_external_id`, `resource_type_slug` filter parameters to `list_role_assignments` method
76
+ * Added `role_slug` filter parameter to `list_role_assignments_for_resource_by_external_id` and `list_role_assignments_for_resource` methods
77
+ * Removed `search` parameter from `list_resources` method
78
+
79
+ **Features**
80
+ * **vault:** Add new Vault service with key-value operations
81
+ * 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`
82
+ * Added vault model classes: `Actor`, `CreateDataKeyRequest`, `CreateDataKeyResponse`, `CreateObjectRequest`, `DecryptRequest`, `DecryptResponse`, `DeleteObjectResponse`, `ObjectModel`, `ObjectMetadata`, `ObjectSummary`, `ObjectVersion`, `ObjectWithoutValue`, `RekeyRequest`, `UpdateObjectRequest`
83
+ * Added `VaultOrder` enum for sorting operations
84
+ * Added `client.vault` accessor to access the new service
85
+ * **pipes:** Add Pipes connected account event models
86
+ * Added `PipeConnectedAccount` model for representing connected accounts
87
+ * Added three new event models: `PipesConnectedAccountConnected`, `PipesConnectedAccountDisconnected`, `PipesConnectedAccountReauthorizationNeeded`
88
+ * Added `PipeConnectedAccountState` enum with `CONNECTED` and `NEEDS_REAUTHORIZATION` values
89
+ * Added new webhook event types to `CreateWebhookEndpointEvents` and `UpdateWebhookEndpointEvents`
90
+ * **generated:** Add Error and Actor shared models
91
+ * Added `Error` model in shared module for error responses
92
+ * Added `Actor` model in vault module representing user/actor information
93
+ * Updated inflections to map 'object' to 'ObjectModel' to avoid conflicts
94
+
3
95
  ## [8.0.1](https://github.com/workos/workos-ruby/compare/v8.0.0...v8.0.1) (2026-05-12)
4
96
 
5
97
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- workos (8.0.1)
4
+ workos (9.1.0)
5
5
  jwt (~> 3.1)
6
6
  logger (~> 1.7)
7
7
  zeitwerk (~> 2.6)
@@ -23,7 +23,7 @@ GEM
23
23
  erb (6.0.4)
24
24
  hashdiff (1.2.1)
25
25
  json (2.19.4)
26
- jwt (3.1.2)
26
+ jwt (3.2.0)
27
27
  base64
28
28
  language_server-protocol (3.17.0.5)
29
29
  lint_roller (1.1.0)
@@ -90,7 +90,7 @@ GEM
90
90
  crack (>= 0.3.2)
91
91
  hashdiff (>= 0.4.0, < 2.0.0)
92
92
  webrick (1.9.2)
93
- yard (0.9.43)
93
+ yard (0.9.44)
94
94
  yard-markdown (0.7.1)
95
95
  csv
96
96
  rdoc
@@ -124,7 +124,7 @@ CHECKSUMS
124
124
  erb (6.0.4) sha256=38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9
125
125
  hashdiff (1.2.1) sha256=9c079dbc513dfc8833ab59c0c2d8f230fa28499cc5efb4b8dd276cf931457cd1
126
126
  json (2.19.4) sha256=670a7d333fb3b18ca5b29cb255eb7bef099e40d88c02c80bd42a3f30fe5239ac
127
- jwt (3.1.2) sha256=af6991f19a6bb4060d618d9add7a66f0eeb005ac0bc017cd01f63b42e122d535
127
+ jwt (3.2.0) sha256=5419b1fe37b1da0982bd07051f573a8b8789ab724c2aa7e785e4784a3ed217d7
128
128
  language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
129
129
  lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
130
130
  logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
@@ -153,8 +153,8 @@ CHECKSUMS
153
153
  unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
154
154
  webmock (3.26.2) sha256=774556f2ea6371846cca68c01769b2eac0d134492d21f6d0ab5dd643965a4c90
155
155
  webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131
156
- workos (8.0.1)
157
- yard (0.9.43) sha256=cf8733a8f0485df2a162927e9b5f182215a61f6d22de096b8f402c726a1c5821
156
+ workos (9.1.0)
157
+ yard (0.9.44) sha256=eb087e9b631ccd887b049f303d489963945452d5e2a7eb49a5a74a7cf6887f28
158
158
  yard-markdown (0.7.1) sha256=06c378632dfe7ba053be9ba469eb4701aa0470e36bcf7e5546f353eb90c1bfd1
159
159
  zeitwerk (2.7.5) sha256=d8da92128c09ea6ec62c949011b00ed4a20242b255293dd66bf41545398f73dd
160
160
 
@@ -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
@@ -35,6 +37,7 @@ module WorkOS
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]
@@ -5,30 +5,30 @@
5
5
  module WorkOS
6
6
  class ApiKeyCreated < WorkOS::Types::BaseModel
7
7
  HASH_ATTRS = {
8
+ object: :object,
8
9
  id: :id,
9
10
  event: :event,
10
11
  data: :data,
11
12
  created_at: :created_at,
12
- context: :context,
13
- object: :object
13
+ context: :context
14
14
  }.freeze
15
15
 
16
16
  attr_accessor \
17
+ :object,
17
18
  :id,
18
19
  :event,
19
20
  :data,
20
21
  :created_at,
21
- :context,
22
- :object
22
+ :context
23
23
 
24
24
  def initialize(json)
25
25
  hash = self.class.normalize(json)
26
+ @object = hash[:object]
26
27
  @id = hash[:id]
27
28
  @event = hash[:event]
28
29
  @data = hash[:data] ? WorkOS::ApiKeyCreatedData.new(hash[:data]) : nil
29
30
  @created_at = hash[:created_at]
30
31
  @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil
31
- @object = hash[:object]
32
32
  end
33
33
  end
34
34
  end
@@ -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
@@ -35,6 +37,7 @@ module WorkOS
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]
@@ -5,30 +5,30 @@
5
5
  module WorkOS
6
6
  class ApiKeyRevoked < WorkOS::Types::BaseModel
7
7
  HASH_ATTRS = {
8
+ object: :object,
8
9
  id: :id,
9
10
  event: :event,
10
11
  data: :data,
11
12
  created_at: :created_at,
12
- context: :context,
13
- object: :object
13
+ context: :context
14
14
  }.freeze
15
15
 
16
16
  attr_accessor \
17
+ :object,
17
18
  :id,
18
19
  :event,
19
20
  :data,
20
21
  :created_at,
21
- :context,
22
- :object
22
+ :context
23
23
 
24
24
  def initialize(json)
25
25
  hash = self.class.normalize(json)
26
+ @object = hash[:object]
26
27
  @id = hash[:id]
27
28
  @event = hash[:event]
28
29
  @data = hash[:data] ? WorkOS::ApiKeyRevokedData.new(hash[:data]) : nil
29
30
  @created_at = hash[:created_at]
30
31
  @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil
31
- @object = hash[:object]
32
32
  end
33
33
  end
34
34
  end
@@ -3,32 +3,32 @@
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
5
  module WorkOS
6
- class AuditLogExportJson < WorkOS::Types::BaseModel
6
+ class ApiKeyUpdated < WorkOS::Types::BaseModel
7
7
  HASH_ATTRS = {
8
8
  object: :object,
9
9
  id: :id,
10
- state: :state,
11
- url: :url,
10
+ event: :event,
11
+ data: :data,
12
12
  created_at: :created_at,
13
- updated_at: :updated_at
13
+ context: :context
14
14
  }.freeze
15
15
 
16
16
  attr_accessor \
17
17
  :object,
18
18
  :id,
19
- :state,
20
- :url,
19
+ :event,
20
+ :data,
21
21
  :created_at,
22
- :updated_at
22
+ :context
23
23
 
24
24
  def initialize(json)
25
25
  hash = self.class.normalize(json)
26
26
  @object = hash[:object]
27
27
  @id = hash[:id]
28
- @state = hash[:state]
29
- @url = hash[:url]
28
+ @event = hash[:event]
29
+ @data = hash[:data] ? WorkOS::ApiKeyUpdatedData.new(hash[:data]) : nil
30
30
  @created_at = hash[:created_at]
31
- @updated_at = hash[:updated_at]
31
+ @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil
32
32
  end
33
33
  end
34
34
  end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class ApiKeyUpdatedData < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ owner: :owner,
11
+ name: :name,
12
+ obfuscated_value: :obfuscated_value,
13
+ last_used_at: :last_used_at,
14
+ expires_at: :expires_at,
15
+ permissions: :permissions,
16
+ created_at: :created_at,
17
+ updated_at: :updated_at,
18
+ previous_attributes: :previous_attributes
19
+ }.freeze
20
+
21
+ attr_accessor \
22
+ :object,
23
+ :id,
24
+ :owner,
25
+ :name,
26
+ :obfuscated_value,
27
+ :last_used_at,
28
+ :expires_at,
29
+ :permissions,
30
+ :created_at,
31
+ :updated_at,
32
+ :previous_attributes
33
+
34
+ def initialize(json)
35
+ hash = self.class.normalize(json)
36
+ @object = hash[:object]
37
+ @id = hash[:id]
38
+ @owner = hash[:owner] ? (case hash[:owner][:type] when "organization" then WorkOS::ApiKeyUpdatedDataOwner.new(hash[:owner]) when "user" then WorkOS::UserApiKeyUpdatedDataOwner.new(hash[:owner]) else hash[:owner] end) : nil
39
+ @name = hash[:name]
40
+ @obfuscated_value = hash[:obfuscated_value]
41
+ @last_used_at = hash[:last_used_at]
42
+ @expires_at = hash[:expires_at]
43
+ @permissions = hash[:permissions] || []
44
+ @created_at = hash[:created_at]
45
+ @updated_at = hash[:updated_at]
46
+ @previous_attributes = hash[:previous_attributes] ? WorkOS::ApiKeyUpdatedDataPreviousAttribute.new(hash[:previous_attributes]) : nil
47
+ end
48
+ end
49
+ end
@@ -3,5 +3,5 @@
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
5
  module WorkOS
6
- DsyncDeactivatedDataDomain = DsyncActivatedDataDomain
6
+ ApiKeyUpdatedDataOwner = ApiKeyCreatedDataOwner
7
7
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class ApiKeyUpdatedDataPreviousAttribute < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ expires_at: :expires_at
9
+ }.freeze
10
+
11
+ attr_accessor :expires_at
12
+
13
+ def initialize(json)
14
+ hash = self.class.normalize(json)
15
+ @expires_at = hash[:expires_at]
16
+ end
17
+ end
18
+ end
@@ -6,17 +6,20 @@ module WorkOS
6
6
  class CreateOrganizationApiKey < WorkOS::Types::BaseModel
7
7
  HASH_ATTRS = {
8
8
  name: :name,
9
- permissions: :permissions
9
+ permissions: :permissions,
10
+ expires_at: :expires_at
10
11
  }.freeze
11
12
 
12
13
  attr_accessor \
13
14
  :name,
14
- :permissions
15
+ :permissions,
16
+ :expires_at
15
17
 
16
18
  def initialize(json)
17
19
  hash = self.class.normalize(json)
18
20
  @name = hash[:name]
19
21
  @permissions = hash[:permissions] || []
22
+ @expires_at = hash[:expires_at]
20
23
  end
21
24
  end
22
25
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class ExpireApiKey < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ expires_at: :expires_at
9
+ }.freeze
10
+
11
+ attr_accessor :expires_at
12
+
13
+ def initialize(json)
14
+ hash = self.class.normalize(json)
15
+ @expires_at = hash[:expires_at]
16
+ end
17
+ end
18
+ end
@@ -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
@@ -35,6 +37,7 @@ module WorkOS
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]
@@ -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,
@@ -24,6 +25,7 @@ module WorkOS
24
25
  :name,
25
26
  :obfuscated_value,
26
27
  :last_used_at,
28
+ :expires_at,
27
29
  :permissions,
28
30
  :created_at,
29
31
  :updated_at,
@@ -37,6 +39,7 @@ module WorkOS
37
39
  @name = hash[:name]
38
40
  @obfuscated_value = hash[:obfuscated_value]
39
41
  @last_used_at = hash[:last_used_at]
42
+ @expires_at = hash[:expires_at]
40
43
  @permissions = hash[:permissions] || []
41
44
  @created_at = hash[:created_at]
42
45
  @updated_at = hash[:updated_at]
@@ -61,17 +61,20 @@ module WorkOS
61
61
  # @param organization_id [String] Unique identifier of the Organization.
62
62
  # @param name [String] The name for the API key.
63
63
  # @param permissions [Array<String>, nil] The permission slugs to assign to the API key.
64
+ # @param expires_at [String, nil] The timestamp when the API key should expire. Must be a future timestamp. If omitted, the key does not expire.
64
65
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
65
66
  # @return [WorkOS::OrganizationApiKeyWithValue]
66
67
  def create_organization_api_key(
67
68
  organization_id:,
68
69
  name:,
69
70
  permissions: nil,
71
+ expires_at: nil,
70
72
  request_options: {}
71
73
  )
72
74
  body = {
73
75
  "name" => name,
74
- "permissions" => permissions
76
+ "permissions" => permissions,
77
+ "expires_at" => expires_at
75
78
  }.compact
76
79
  response = @client.request(
77
80
  method: :post,
@@ -124,5 +127,30 @@ module WorkOS
124
127
  )
125
128
  nil
126
129
  end
130
+
131
+ # Expire an API key
132
+ # @param id [String] The unique ID of the API key.
133
+ # @param expires_at [String, nil] When the API key should expire. If omitted or in the past, the key expires immediately. Use null to clear a scheduled future expiration.
134
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
135
+ # @return [WorkOS::ApiKey]
136
+ def create_api_key_expire(
137
+ id:,
138
+ expires_at: nil,
139
+ request_options: {}
140
+ )
141
+ body = {
142
+ "expires_at" => expires_at
143
+ }.compact
144
+ response = @client.request(
145
+ method: :post,
146
+ path: "/api_keys/#{WorkOS::Util.encode_path(id)}/expire",
147
+ auth: true,
148
+ body: body,
149
+ request_options: request_options
150
+ )
151
+ result = WorkOS::ApiKey.new(response.body)
152
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
153
+ result
154
+ end
127
155
  end
128
156
  end
@@ -2,12 +2,8 @@
2
2
 
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
- require "json"
6
-
7
5
  module WorkOS
8
- class AuditLogAction
9
- include HashProvider
10
-
6
+ class AuditLogAction < WorkOS::Types::BaseModel
11
7
  HASH_ATTRS = {
12
8
  object: :object,
13
9
  name: :name,
@@ -24,8 +20,7 @@ module WorkOS
24
20
  :updated_at
25
21
 
26
22
  def initialize(json)
27
- hash = json.is_a?(Hash) ? json : JSON.parse(json, symbolize_names: true)
28
- hash = hash.transform_keys(&:to_sym) if hash.keys.first.is_a?(String)
23
+ hash = self.class.normalize(json)
29
24
  @object = hash[:object]
30
25
  @name = hash[:name]
31
26
  @schema = hash[:schema] ? WorkOS::AuditLogSchema.new(hash[:schema]) : nil
@@ -2,12 +2,8 @@
2
2
 
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
- require "json"
6
-
7
5
  module WorkOS
8
- class AuditLogExport
9
- include HashProvider
10
-
6
+ class AuditLogExport < WorkOS::Types::BaseModel
11
7
  HASH_ATTRS = {
12
8
  object: :object,
13
9
  id: :id,
@@ -26,8 +22,7 @@ module WorkOS
26
22
  :updated_at
27
23
 
28
24
  def initialize(json)
29
- hash = json.is_a?(Hash) ? json : JSON.parse(json, symbolize_names: true)
30
- hash = hash.transform_keys(&:to_sym) if hash.keys.first.is_a?(String)
25
+ hash = self.class.normalize(json)
31
26
  @object = hash[:object]
32
27
  @id = hash[:id]
33
28
  @state = hash[:state]
@@ -5,21 +5,30 @@
5
5
  module WorkOS
6
6
  class AuditLogSchema < WorkOS::Types::BaseModel
7
7
  HASH_ATTRS = {
8
+ object: :object,
9
+ version: :version,
8
10
  actor: :actor,
9
11
  targets: :targets,
10
- metadata: :metadata
12
+ metadata: :metadata,
13
+ created_at: :created_at
11
14
  }.freeze
12
15
 
13
16
  attr_accessor \
17
+ :object,
18
+ :version,
14
19
  :actor,
15
20
  :targets,
16
- :metadata
21
+ :metadata,
22
+ :created_at
17
23
 
18
24
  def initialize(json)
19
25
  hash = self.class.normalize(json)
26
+ @object = hash[:object]
27
+ @version = hash[:version]
20
28
  @actor = hash[:actor] ? WorkOS::AuditLogSchemaActor.new(hash[:actor]) : nil
21
29
  @targets = (hash[:targets] || []).map { |item| item ? WorkOS::AuditLogSchemaTarget.new(item) : nil }
22
30
  @metadata = hash[:metadata] || {}
31
+ @created_at = hash[:created_at]
23
32
  end
24
33
  end
25
34
  end
@@ -3,7 +3,5 @@
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
5
  module WorkOS
6
- module Types
7
- RadarType = RadarStandaloneResponseBlocklistType
8
- end
6
+ AuditLogSchemaActorInput = AuditLogSchemaActor
9
7
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AuditLogSchemaInput < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ actor: :actor,
9
+ targets: :targets,
10
+ metadata: :metadata
11
+ }.freeze
12
+
13
+ attr_accessor \
14
+ :actor,
15
+ :targets,
16
+ :metadata
17
+
18
+ def initialize(json)
19
+ hash = self.class.normalize(json)
20
+ @actor = hash[:actor] ? WorkOS::AuditLogSchemaActorInput.new(hash[:actor]) : nil
21
+ @targets = (hash[:targets] || []).map { |item| item ? WorkOS::AuditLogSchemaTargetInput.new(item) : nil }
22
+ @metadata = hash[:metadata] || {}
23
+ end
24
+ end
25
+ end
@@ -3,5 +3,20 @@
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
5
  module WorkOS
6
- AuditLogSchemaTarget = AuditLogSchemaJsonTarget
6
+ class AuditLogSchemaTarget < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ type: :type,
9
+ metadata: :metadata
10
+ }.freeze
11
+
12
+ attr_accessor \
13
+ :type,
14
+ :metadata
15
+
16
+ def initialize(json)
17
+ hash = self.class.normalize(json)
18
+ @type = hash[:type]
19
+ @metadata = hash[:metadata] || {}
20
+ end
21
+ end
7
22
  end